面对对象--概述
什么是对象?
+---->对象可以泛指一切现实中存着的事物
+---->类是对象的抽象集合
什么是面对对象?
+--->万物皆对象,面对对象实际就是人与万物接触====》面对对象
为什么要使用面对对象语言?
+--->面对对象符合现实生活,是计算机语言更加符合现实逻辑,从而实现更好的为人服务。
面对对象有什么好处?
+--->相比面对过程语言,面对过程的--->事事亲为 。
+--->面对对象相当于请他人做事,能够快速的完成,讲究相互协调。
如何创建对象?
用new关键字创建一个对象,new专门用于调用类的构造方法
---->相当于指向“堆”中的一个内存段
面对对象的三大特征
1、封装
2、继承
3、多态
+---->封装
+-->什么是封装
+---->封装就是该露的露,不该露的不露。
+--->比如笔记本就是个封装,他把很多东西都封装在一起,我们不需要知道内部的东西,只需要会操作他就行了,而且还有提供接口给我们使用。
为什么要封装?
+---> 属性的读写控制,数据的安全检查(提高安全性)
----> 隐藏实现细节, 减少修改、扩展类时对外界组件的影响,增强易维护性
----> 提高软件的可复用性
怎么封装?
使用private修饰
再提供get(),set()方法的接口使用。
-----------------------------------------------------
+---->继承
+-->什么是继承?
+---->将很多事物共有的属型和特征(方法)抽取出来形成一个类(父类),其他每种类型就是子类,子类与父类的关系就是继承。
为什么要继承?
+--->提高代码复用性
+--->约定好共同行为,相当于定义一套行为标准,提高代码的灵活性和扩展性。
怎么继承?
+--->使用关键字extends
Final 的特性
1、被final修饰的类不能被继承(最终类)
2、被final修饰的变量不能被修改(静态常量)
3、被final修饰的方法不能被重写(模板设计)
+---->多态
+-->什么是多态?
+---->一种事物的多种状态
为什么要使用多态?
1.可替换性(substitutability)
2.可扩充性(extensibility)
3.接口性(interface-ability)
4.灵活性(flexibility)
5.简化性(simplicity)
实现多态的条件?
1、继承
2、重写(可以没有)
3、父类的引用指向子类的对象
什么是引用?
+--->相当于指针?
+------->内存地址----->指向存放数据的内存块