3.1面向对象的概念传智播客·黑马程序员改变中国门教育我们正在行动3、多态性>多态性指的是在程序中允许出现重名现象,它指在一个类中定义的属性和方法被其它类继承后,它们可以具有不同的数据类型或表现出不同的行为,这使得同一个属性和方法在不同的类中具有不同的语义。例如,当听到ut”这个单词时,理发师的行为是剪发,演员的行为表现是停止表演,不同的对象,所表现的行为是不一样的。》面向对象的思想光靠上面的介绍是无法真正理解的,只有通过大量的实践去学习和理解,才能将面向对象真正领悟。接下来的第三章、第四章将围绕着面向对象的三个特征(封装、继承、多态)来讲解Java这门编程语言。yx.boxuegu.com
✎ 3、多态性 ➢ 多态性指的是在程序中允许出现重名现象,它指在一个类中定义的属性和方法 被其它类继承后,它们可以具有不同的数据类型或表现出不同的行为,这使得 同一个属性和方法在不同的类中具有不同的语义。例如,当听到“Cut” 这个 单词时,理发师的行为是剪发,演员的行为表现是停止表演,不同的对象,所 表现的行为是不一样的。 ➢ 面向对象的思想光靠上面的介绍是无法真正理解的,只有通过大量的实践去学 习和理解,才能将面向对象真正领悟。接下来的第三章、第四章将围绕着面向 对象的三个特征(封装、继承、多态)来讲解Java这门编程语言。 3.1 面向对象的概念
3.1面向对象的概念传智播客·黑马程序员改变中国门教育我们正在行动>面向对象的编程思想,力图让程序中对事物的描述与该事物在现实中的形态保持一致。为了做到这一点,面向对象的思想中提出了两个概念,即类和对象。其中,类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体。接下来通过一个图例来抽象描述类与对象的关系,如下图所示。>右图可以将玩具模型看作是一个类,将一个玩具看作对象,从玩具模型和玩具之间的关系便可以看出类与对象之间的关系。类用于玩具模型描述多个对象的共同特征,它是对象的模板。对象用于描述现实中的个体,它是类的实O例。从图可以明显看出对象是根据类创玩具医具玩具玩儿建的,并且一个类可以对应多个对象。yx.boxuegu.com
✎ ➢ 面向对象的编程思想,力图让程序中对事物的描述与该事物在现实中的形 态保持一致。为了做到这一点,面向对象的思想中提出了两个概念,即类 和对象。其中,类是对某一类事物的抽象描述,而对象用于表示现实中该 类事物的个体。接下来通过一个图例来抽象描述类与对象的关系,如下图 所示。 ➢ 右图可以将玩具模型看作是一个类,将一个 玩具看作对象,从玩具模型和玩具之间的关 系便可以看出类与对象之间的关系。类用于 描述多个对象的共同特征,它是对象的模板 。对象用于描述现实中的个体,它是类的实 例。从图可以明显看出对象是根据类创 建的,并且一个类可以对应多个对象。 3.1 面向对象的概念
3.2类与对象传智播客·黑马程序员改变中国工教育我们正在行动类的定义>在面向对象的思想中最核心的就是对象,为了在程序中创建对象首先需要定义一个类。类是对象的抽象,它用于描述一组对象的共同特征和行为。类中可以定义成员变量和成员方法,其中成员变量用于描述对象的特征,也被称作属性,成员方法用于描述对象的行为,可简称为方法。案例代码接下来通过一个案例来学习如何定义一个类,请查看教材文件3-1yx.boxuegu.com
✎ ➢在面向对象的思想中最核心的就是对象,为了在程序中创建对象, 首先需要定义一个类。类是对象的抽象,它用于描述一组对象的 共同特征和行为。类中可以定义成员变量和成员方法,其中成员 变量用于描述对象的特征,也被称作属性,成员方法用于描述对 象的行为,可简称为方法。 类的定义 接下来通过一个案例来学习如何定义一个类,请查看教材文件3-1。 案例代码 3.2 类与对象
脚下留心传智播客·黑马程序员改变中国门教育我们正在行动>在Java中,定义在类中的变量被称为成员变量,定义在方法中的变量被称为局部变量。如果在某一个方法中定义的局部变量与成员变量同名,这种情况是允许的,此时方法中通过变量名访问到的是局部变量,而并非成员变量,请阅读下面的示例代码:class Personintage=10;II类中定义的变量被称作成员变量void speak()(intage=60;Il方法内部定义的变量被称作局部变量System.out.printin("大家好,我今年”+age+"岁!")1子>上面的代码中,在Person类的speak()方法中有一条打印语句,访问了变量age,此时访问的是局部变量age,也就是说当有另外一个程序来调用speak()方法时,输出的值为60,而不是10。yx.boxuegu.com
✎ ➢ 在Java中,定义在类中的变量被称为成员变量,定义在方法中的变量被称为局 部变量。如果在某一个方法中定义的局部变量与成员变量同名,这种情况是允 许的,此时方法中通过变量名访问到的是局部变量,而并非成员变量,请阅读 下面的示例代码: ➢ 上面的代码中,在Person类的speak()方法中有一条打印语句,访问了变量age, 此时访问的是局部变量age,也就是说当有另外一个程序来调用speak()方法时, 输出的值为60,而不是10。 class Person { int age = 10; // 类中定义的变量被称作成员变量 void speak() { int age = 60; // 方法内部定义的变量被称作局部变量 System.out.println("大家好,我今年" + age + "岁!"); } } 脚下留心
3.2类与对象传智播客·黑马程序员改变中国门教育我们正在行动对象的创建与使用>应用程序想要完成具体的功能,仅有类是远远不够的,还需要根据类创建实例对象。在Java程序中可以使用new关键字来创建对象,具体格式如下类名对象名称=new类名0:>例如,创建Person类的实例对象代码如下:Person p = new Person O:+>上面的代码中,hewPerson()”用于创建Person类的一个实例对象,Personp”则是声明了一个Person类型内存newPerson()(对象的地址)的变量p。中间的等号用于将Person对象在内存中的地址0x30000x3000赋值给变量p,这样变量p便持有了对象的引用。在内存中变量p和对象之间的引用关系如右图所示yx.boxuegu.com
✎ ➢ 应用程序想要完成具体的功能,仅有类是远远不够的,还需要根据类创建实例 对象。在Java程序中可以使用new关键字来创建对象,具体格式如下: ➢ 例如,创建Person类的实例对象代码如下: ➢ 上面的代码中,“new Person()”用于创建Person类的 一个实例对象,“Person p”则是声明了一个Person类型 的变量p。中间的等号用于将Person对象在内存中的地址 赋值给变量p,这样变量p便持有了对象的引用。在内存 中变量p和对象之间的引用关系如右图所示。 对象的创建与使用 3.2 类与对象