黑马程序员技术交流社区

标题: 明天就要考面向对象了,在这里把知识整理一下,也复习一下 [打印本页]

作者: 爱吃橘子的小泽    时间: 2017-2-7 22:43
标题: 明天就要考面向对象了,在这里把知识整理一下,也复习一下
本帖最后由 爱吃橘子的小泽 于 2017-2-7 22:48 编辑

面向对象是一种编程思想,更多考虑的是"我该让谁去做".
面向对象的好处:更符合人们的思考习惯,从执行者改变为指挥者,将复杂的问题简单化
面向对象的三大特征: 封装,继承,多态
成员变量与局部变量的区别:定义位置不同,初始化不同,生命周期不同,内存位置不同


作者: 爱吃橘子的小泽    时间: 2017-2-7 22:57
面向对象第一大特性---------封装
封装的体现   类,方法,
封装的好处 提高代码复用性,提高安全性,隐藏实现细节

private 关键字 私有化
可以修饰成员,被修饰的成员不能在其他类中访问,
对私有的成员提供对应getXxx setXxx的访问方法

this关键字,
作用,成员变量与局部变量重名时为了区分需要使用this



作者: 爱吃橘子的小泽    时间: 2017-2-7 23:12
面向对象第二大特性--------------------继承继承描述的父与子,父类与子类,子类继承父类
子类会继承拥有父类所有非private修饰的属性与方法
继承格式:子类  extends 父类
继承好处:提高代码复用性,为多态提供前提
注意事项:
类只支持单继承,多个类可以继承一个父类,一个类的父类可以继承另外的父类,

继承后子类与父类成员变量的特点
子类对象调用成员变量时,子类有用子类的,没有用父类
父类成员变量重名,就近原则

集成后子类与父类成员方法的特点
子类对象调用方法时,子类有用子类,子类没有用父类
子类和父类方法相同时,将重写父类的方法
重写的注意事项: 子类方法权限要大于父类,方法名参数列表都要一样,返回值看是基本数据类型还是引用数据类型

抽象类
发现共性向上抽取,方法功能相同,方法主体不同
格式:public abstract 返回值类型 方法名(参数);


作者: 爱吃橘子的小泽    时间: 2017-2-7 23:17
面向对象第三大特性------------------------多态
一种事物的多种状态
多态的前提是必须有子父类关系或者类实现接口关系,否则无法完成多态。
在使用多态后的父类引用变量调用方法时,会调用子类重写后的方法。
三种格式
        普通类多态定义的格式
              父类 变量名 = new 子类();
        抽象类多态定义格式                       
                        抽象类 变量名 = new 抽象类子类();
        接口多态定义的格式
                        接口 变量名 = new 接口实现类();



作者: GKAirzzzzz    时间: 2017-2-8 08:02
可以可以
作者: dongdzhu    时间: 2017-2-9 00:03
什么时候用多态?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2