LongJL 发表于 2021-7-10 16:02

【自学笔记】 Java基础 - 面向对象(一)

本帖最后由 LongJL 于 2021-7-10 16:27 编辑

# 面向对象

## 面向对象与面向过程的区别

### 面向过程(pop)
是一种以"过程"为中心的编程思想,当需要实现一个功能的时候,每一个具体的步骤都要亲力亲为,详细处理每一个细节。

### 面向对象(pop)
是一种以"对象"为中心的编程思想,当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人,来帮我做事儿。

```Java
      public class PrintArray {
      public static void main(String[] args) {
            int[] array = {10,20,30,40,50};
            //要求格式为:
            //使用面向过程
            System.out.print("[")
            for(int i = 0;i < array.length;i++){
                if(i == array.length-1){
                  System.out.println(array + "]");
                } else {
                  System.out.print(array + ", ")
                }
            //使用面向对象
            //找一个JDK给我们提供好的Arrays类
            //其中有一个toString方法,直接就能把数组变成想要的格式字符串
            System.out.println(Arrays.toString(array));
            }
      }
    }
```
总结:
    1.客观存在的任何一种事务,都可以看做为程序种的对象
    2.使用面向对象思想可以将复杂的问题简单化
    3.将我们从执行者的位置,变为了指挥者

## 类

### 什么是类
类是对现实生活中一类具有共同属性和行为的事务的抽象,【类】是对事务,也就是对象的一种描述,可以将类理解为一张设计图,根据设计图,可以创建出具体存在的事物

### 类的组成
属性和行为
定义一个类,用来模拟"学习"事物。其中就有俩个组成部分。

    属性(是什么):
      该事物的各种特征
      例如学生:姓名、年龄、就读学校
    行为(能做什么):
      该事物存在的功能(能够做的事情)
      例如学生:学习。。。。
    对应到Java的类当中。
    成员变量(属性):
      String name; //姓名
      int age; //年龄
    成员 方法(行为):
      public void eat() {};
      public void sleep() {};
      public void study() {};
    注意事项:
      1.成员变量是直接定义在类当中的,在方法外边。
      2.成员方法不要写static关键字。
```Java
    public class Student {
      //成员变量
      String name; //姓名
      int age; //年龄
      //成员方法
      public void eat() {
            System.out.println("吃饭!");
      }
      public void sleep() {
            System.out.println("睡觉!");
      }
      public void study() {
            System.out.println("学习!");
      }
    }
```

### 类和对象的关系
- 类是对一类事物的描述,是抽象的;
- 对象是一类事物的实例,是具体的;
- 类的对象的模板,对象是类的实体

### 对象的创建及使用
通常情况下,一个类并不能直接使用,需要根据类创建一个对象,才能使用。
    1.导包
      也就是指出需要使用的类,在什么位置。
      import 包名称.类名称
            例如 import cn.xxx.Student;
      对于和当前类属于同一个包的情况下,可以省略导包语句不写。
    2.创建
      格式:
            类名称 对象名 = new 类名称()
            Student stu = new Student();
    3.使用
      使用成员变量:
            对象名.成员变量名
      使用成员方法:
            对象名.成员方法名(参数);
    4.注意:
      俩个对象使用同一个方法没有任何联系
      当一个对象作为一个参数,传递到方法当中时,实际上传递进去的是对象的地址值。
      当使用一个对象类型作为返回值时:
            返回值其实对象的地址值.
      类型要对应

```Java
    public class Demo02Student {
      public static void main(String[] args) {
            //1.创建,格式:
            //类名称 对象名 = new 类名称();
            Student stu = new Student();
            //2.使用其中的成员变量,格式:
            //对象名.成员变量名;
            System.out.println(stu.name);// null
            System.out.println(stu.age);// 0
            //改变对象当中的成员变量数组的内容
            //将右侧的字符串,赋值交给Stu对象当中的name成员变量
            stu.name = "刘欢";
            stu.age = 18;
            System.out.println(stu.name);// 刘欢
            System.out.println(stu.age);// 18
            System.out.println("=====================")
            //3.使用对象的成员方法,格式:
            //对象名.成员方法名()
            stu.eat();
            stu.sleep();
            stu.study();
      }
    }
```
页: [1]
查看完整版本: 【自学笔记】 Java基础 - 面向对象(一)