面向对象
1.什么是对象
万物皆对象、客观存在的事物
对象:用来描述客观事实的一个实体,由一组属性和方法构成。
2.什么是面向对象
人关注对象、人关注事物信息
3. 什么是类
3.1 类是模子,确定对象将会拥有的特征(属性)和行为(方法)
3.2 类的特点:
类是对象的类型
具有相同属性和方法的一组对象的集合
4.什么是对象的属性和方法
4.1 属性:对象具有的静态特征------"有什么"
4.2 方法:对象具有的各种动态行为-------"能做什么"
5.类和对象的关系
5.1 类是抽象的概念,仅仅是个模板。
5.2 对象是一个你能看得见摸得着的具体实体。
5.3 类是对象的类型
5.4 对象是特定类型的数据
5.5 在具体开发过程中,先定义类再实例化对象
6.单一职责原则
6.1 单一职责原则,也称单一功能原则
6.2 英文Sigle Responsibility Perinciple 缩写 SRP
6.3 一个类,应该有却只有一个引起变化的原因
6.4 在程序设计中,尽量把不同职责,放在不同的类中,即把不同的变化原因,封装到不同的类中。
对象实例化
1.实例化对象的过程可以分为两个部分
------声明对象 Cat one 声明时,为one创建栈内存空间
------实例化对象 new Cat() 实例化时,为这个对象在堆开辟空间,地址为0x0001
------Cat one = new Cat() 等于,便是把内存空间的地址给one存在栈中。
读取的时候,先找到one,然后查到对应的内存地址,通过内存地址找到那片空间,再对空间中的东西进行操作。像是主键外键的关系,内存地址难写,再写一个表使用便于写的对应内存地址继续进行查询。这个one就是个别名、代称。
2.对象实例化
2.1 多个对象可以指向同一块实例化空间
-----Cat one = new Cat();
-----Cat two = one;
2.2 对象必须被实例化之后才能使用
2.3 对象间的引用传递,实际上传递的时堆控件的使用权。
构造方法
1.构造方法与类同名且没有返回值
2.构造方法的语句格式
3.只能在对象实例化的时候调用
4.当没有指定的构造方法时,系统会自动添加无参的构造方法。
5.当有指定的构造方法,无论是有、无参的构造方法都不会自动体检无参的构造方法。
6.一个类中可以有多个构造方法。
this关键字
1.this:
在类中就是代表当前对象,可以通过this关键字完成当前对象的成员属性、成员方法和构造方法的调用。
2.this的使用
在定义类的方法时,如果需要调用该类对象,就可以用this来表示这个对象。也就是说,但凡在本类功能内部使用到了本类对象,都用this表示。
—— 调用成员变量,解决成员属性和局部变量同名冲突
—— 调用成员方法
—— 调用重载的构造方法