Java面向对象总结(1)

OOP思维在Java中的应用

1.面向对象思维

  • 面向对象是当今主流的编程设计思想,已经取代了过程化程序开发技术
  • 面向对象的核心是有对象组成,每个对象包含着对用户公开的特定功能和影藏的实现部分,有很多类需要程序员自己定义
  • 理论上来说,对象能实现业务功能即可,不用关心细节

2.面向对象特点

  1. 常见思想,符合人们的思考习惯
  2. 可以将复杂的业务逻辑啊简单化,同时增强代码复用性
  3. 具有抽象,封装,继承,多态等特性
  4. 面向对象编程语言主要有: C++,Java,C#等

3.类和对象的关系

  • 类: 对某一类事物的特征,功能的抽象,描述和封装,是构造对象的模板,类之间主要关系有依赖,聚合,继承;
  • 对象: 使用new或反射创造的类的实例,同一类的所有对象都具有相似的数据和行为,但是保持自己独特的状态,对象状态会随着程序运行而改变。状态的变化必须通过调用方法来改变(封装)。

4.封装

  • 核心思想: 隐藏细节,数据安全
  • 实现方式: 将不需要外界访问的成员变量和方法私有化,用公用方法来访问数据和逻辑,提供数据安全性程序稳定性;
  • 具体实现: private修饰成员变量,防止外部随意调用修改,用public的set,get方式设置和获取成员变量的值

5.继承和实例化

  1. 在多个不同类中取出相同部分,对这些相同部分进行封装成为一个新的类(父类),让之前的类来继承它,共同内容就不用重复定义
  2. *Java是单继承机制,一个类只能拥有一个直接父类(避免方法名相同混淆)
  3. this. / super.
  4. 继承提高了程序的复用性,扩展性,也是多态的前提
  5. 实际开发中,现有子类,再根据共性生成的父类
  6. is - a 关系; A is a B; A可以继承B

6.多态

  • 多态指允许不同类的对象对同一“消息”做出响应。同一消息根据发送对象不同可以采取不同的行为方式
  • 三个必要条件:继承,重写,向上转型
  • 向上转型: 将子类的应用赋予父类对象,具备调用父类的方法和子类的方法
  • 深入了解

7.抽象

  • 如果一个类没有足够具体的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么他就是抽象类
  • 抽象类提供了继承的概念,它的出发点就是继承,否则他没有存在意义

注意事项:

  1. 抽象类不能被实例化 (实例化被子类完成)
  2. 抽象方法必须由子类改写
  3. 包含抽象方法必须为抽象类
  4. 抽象类可以含有具体方法,可以不含有抽象方法
  5. 子类中的抽象方法不能与父类中的抽象方法重名
  6. abstract不能与final共同修饰一个类
  7. abstract不能与private,static,final,native修饰同一个方法
posted @ 2018-10-16 17:50  kojimako  阅读(113)  评论(0编辑  收藏  举报