文章目录 前言 一、面向对象的基本概念 1、对象 2、类 二、面向对象的三大特征 1、封装 (1)概述 (2)原则 (3)总结 2、继承 (1)概述 (2)继承的好处和弊端 (3)继承中各元素的访问特点 (4)super关键字 (5)重写 3、多态 (1)概述 (2)多态中成员访问特点 (3)多态的好处和弊端 (4)多态中的转型 前言 面向对象简称 OO(Object Oriented),20 世纪 80 年代以后,有了面向对象分析(OOA)、 面向对象设计(OOD)、面向对象程序设计(OOP)等新的系统开发方式模型的研究。
对 Java 语言来说,一切皆是对象。
把现实世界中的对象抽象地体现在编程世界中,一个对象代表了某个具体的操作。
一个个对象最终组成了完整的程序设计,这些对象可以是独立存在的,也可以是从别的对象继承过来的。
对象之间通过相互作用传递信息,实现程序开发。
一、面向对象的基本概念 1、对象 Java 是面向对象的编程语言,对象就是面向对象程序设计的核心。
所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。
对象有以下特点: 对象具有属性和行为。
对象具有变化的状态。
对象具有唯一性。
对象都是某个类别的实例。
一切皆为对象,真实世界中的所有事物都可以视为对象。
例如,在真实世界的学校里,会有 学生和老师等实体 ,学生有 学号、姓名、所在班级等属性 (数据),学生还有 学习、提问、吃饭和走路等操作 。
学生只是抽象的描述,这个抽象的描述称为“类”。
在学校里活动的是学生个体,即张同学、李同学等, 这些具体的个体称为“对象”,“对象”也称为“实例”。
2、类 在面向对象中, 类和对象是最基本、最重要的组成单元。
类实际上是表示一个客观世界某类群体的一些基本特征抽象。
对象就是表示一个个具体的东西。
所以说类是对象的抽象,对象是类的具体。
举例说明一下: 人类所具有的一些特征,这些特征包括 属性 (一些参数、数值)以及 方法 (一些行为,他能干什么)。
每个人都有 身高、体重、年龄、血型 等属性,人会 劳动、会直立行走、会用自己的头脑去创造工具 等方法。
人之所以能区别于其他类型的动物,是因为每个人都具有“人”这个群体的属性与方法。
“人类”只是一个抽象的概念,它仅仅是一个概念,是不存在的实体!
但是所有具备“人类”这个群体的属性与方法的对象都叫人!
这个对象“人” 是实际存在的实体!
每个人都是“人”这个群体的一个对象。
老虎为什么不是人?
因为它不具备“人”这个群体的属性与方法,老虎不会直立行走,不会使用工具等,所以说老虎不是人!
也就是说,类是概念模型,定义对象的所有特性和所需的操作,对象是真实的模型,是一个具体的实体。
得出的结论是:(1)类是描述了一组有相同特性(属性)和相同行为(方法)的一组对象的集合。
(2)对象执行的操作称为类的方法。
二、面向对象的三大特征 1、封装 (1)概述 封装是一种信息隐蔽技术,它体现于类的说明,是对象的重要特性。
封装使数据和加工该数据的方法(函数)封装为一个整体,以实现独立性很强的模块,使得用户只能见到对象的 外特性 (对象能接受哪些消息,具有那些处理能力),而对象的 内特性 (保存内部状态的私有数据和实现加工能力的算法)对用户是隐蔽的。
封装的目的 在于把对象的设计者和对象者的使用分开,使用者不必知晓行为实现的细节,只须用设计者提供的消息来访问该对象。
(2)原则 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问 private的成员变量,提供对应的getXxx()/setXxx()方法 代码如下(示例): 非私有变量访问 首先建立一个Person类,里面有非私有的成员变量name和age。
public class Person {
String name;
int age;
}
再建立一个测试类,创建一个Person类的对象,直接访问Person类中的成员变量,打印信息,此时我们可以看到, 非私有的成员变量 是可以直接创建对象然后进行访问的。
public class Demo {
public static void main(String[] args) {
Person p=new Person();
p.name
