面向对象思想


面向对象的中点学习内容:

  一、学习获取已有对象并使用

  二、学习如何自己设计对象并使用

1.设计对象并使用(设计类和获取对象)

        public class 类名{
            1.成员变量(代表属性,一般是名词)
            2.成员方法(代表行为,一般是动词)
            3.构造器
            4.代码块
            5.内部快
         }
        

2.如何得到类的对象

Phone p = new Phone();

3.如何使用类的对象

    访问属性:对象名.成员变量

    访问行为:对象名.方法名()

        p2.brand = "苹果13Pro";p2.price = 8999;//属性赋值
        System.out.println(p2.brand + "价格:" +p2.price);//获取属性值
        //调用方法:
        p2.call();
        p2.playGame();

注意事项

        //        定义类的补充注意事项
        //            用来描述一类事物的类,专业叫做:Javabean类
        //            在Javabean类中,是不写main方法的。
        //
        //            在以前,编写main方法的类,叫做测试类
        //            我们可以在测试类中创建javabean类的对象并进行赋值调用。
        //在一个java文件中可以定义多个class类,但只能一个类是public修饰,而且public修饰的类名必须成为代码的文件名。
        //成员变量的完整定义格式是:修饰符 数据类型 变量名称=初始化值;一般无需指定初始化值,存在默认值。

三、封装

        //对象的三大特征:封装,继承,多态
        //举例:人画圆,定义人和圆,那么画的动作应该定义在哪一个类中?
        //     对象代表什么,就得封装对应的数据,并提供数据对应的行为
        //     因为画圆需要圆心和半径,而这两个数据定义在圆中,所以将动作定义在圆中
        //封装可以降低学习成本,需要时去找对象的方法

1.private

  是一个权限修饰符,可以修饰成员变量和方法

  被 private 修饰的成员只能在本类中才能访问

2.构造方法

  作用:在创建对象的时候给成员对象进行初始化用的。

        修饰符 类名(参数){
            方法体;
         }

特点: 1.方法名与类名相同,大小写也要一致

    2.没有返回值的类型,连void都没有

    3.没有具体的返回值,不能由return带回结果数据

注意:如果没有定义构造方法,则会自动添加空参构造,如果只有参数构造方法,则参数不能为空

四、标准JavaBean的编写

  一、类名需要见名知意

  二、成员变量使用private修饰

  三、至少提供两个构造方法

    1.无参构造方法

    2.带全部参数的构造方法

  四、成员方法

    1.提供每个成员相应的读写方法

    2.如果有其他行为的,也需要写上

public class User {
    //属性
    private String username;
    private String password;
    private String email;
    private String gender;
    private int age;
    //空参
    public User(){}
    //带有全部参数的构造函数
    public User(String username, String password, String email, String gender, int age){
        this.username = username;
        this.password = password;
        this.email = email;
        this.gender = gender;
        this.age = age;
    }
    //get与set方法:快捷键alt+ins
    public void setUsername(String username){
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public String getEmail() {
        return email;
    }

    public String getGender() {
        return gender;
    }

    public int getAge() {
        return age;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getUsername(){
        return username;
    }
}