Part1 2-1 面向对象 2019-12-20

面向对象

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就是个别名、代称。


图1.实例化过程

2.对象实例化

2.1 多个对象可以指向同一块实例化空间

    -----Cat one = new Cat();

    -----Cat two = one;


图2.对象同时指向

2.2 对象必须被实例化之后才能使用

2.3 对象间的引用传递,实际上传递的时堆控件的使用权。    




构造方法

1.构造方法与类同名且没有返回值

2.构造方法的语句格式


图3.构造方法的语句格式

3.只能在对象实例化的时候调用

4.当没有指定的构造方法时,系统会自动添加无参的构造方法。

5.当有指定的构造方法,无论是有、无参的构造方法都不会自动体检无参的构造方法。

6.一个类中可以有多个构造方法。




this关键字

1.this:

    在类中就是代表当前对象,可以通过this关键字完成当前对象的成员属性、成员方法和构造方法的调用。    

2.this的使用

    在定义类的方法时,如果需要调用该类对象,就可以用this来表示这个对象。也就是说,但凡在本类功能内部使用到了本类对象,都用this表示。

    —— 调用成员变量,解决成员属性和局部变量同名冲突


图3.解决同名冲突

    —— 调用成员方法


图4.调用成员方法

   —— 调用重载的构造方法


图5.构造方法的重载
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。