OOP思维在Java中的应用
1.面向对象思维
- 面向对象是当今主流的编程设计思想,已经取代了过程化程序开发技术
- 面向对象的核心是有对象组成,每个对象包含着对用户公开的特定功能和影藏的实现部分,有很多类需要程序员自己定义
- 理论上来说,对象能实现业务功能即可,不用关心细节
2.面向对象特点
- 常见思想,符合人们的思考习惯
- 可以将复杂的业务逻辑啊简单化,同时增强代码复用性
- 具有抽象,封装,继承,多态等特性
- 面向对象编程语言主要有: C++,Java,C#等
3.类和对象的关系
- 类: 对某一类事物的特征,功能的抽象,描述和封装,是构造对象的模板,类之间主要关系有依赖,聚合,继承;
- 对象: 使用new或反射创造的类的实例,同一类的所有对象都具有相似的数据和行为,但是保持自己独特的状态,对象状态会随着程序运行而改变。状态的变化必须通过调用方法来改变(封装)。
4.封装
- 核心思想: 隐藏细节,数据安全
- 实现方式: 将不需要外界访问的成员变量和方法私有化,用公用方法来访问数据和逻辑,提供数据安全性程序稳定性;
- 具体实现: private修饰成员变量,防止外部随意调用修改,用public的set,get方式设置和获取成员变量的值
5.继承和实例化
- 在多个不同类中取出相同部分,对这些相同部分进行封装成为一个新的类(父类),让之前的类来继承它,共同内容就不用重复定义
- *Java是单继承机制,一个类只能拥有一个直接父类(避免方法名相同混淆)
- this. / super.
- 继承提高了程序的复用性,扩展性,也是多态的前提
- 实际开发中,现有子类,再根据共性生成的父类
- is - a 关系; A is a B; A可以继承B
6.多态
- 多态指允许不同类的对象对同一“消息”做出响应。同一消息根据发送对象不同可以采取不同的行为方式
- 三个必要条件:继承,重写,向上转型
- 向上转型: 将子类的应用赋予父类对象,具备调用父类的方法和子类的方法
- 深入了解
7.抽象
- 如果一个类没有足够具体的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么他就是抽象类
- 抽象类提供了继承的概念,它的出发点就是继承,否则他没有存在意义
注意事项:
- 抽象类不能被实例化 (实例化被子类完成)
- 抽象方法必须由子类改写
- 包含抽象方法必须为抽象类
- 抽象类可以含有具体方法,可以不含有抽象方法
- 子类中的抽象方法不能与父类中的抽象方法重名
- abstract不能与final共同修饰一个类
- abstract不能与private,static,final,native修饰同一个方法
posted @
2018-10-16 17:50
kojimako
阅读(
113)
评论()
编辑
收藏
举报