面向对象程序设计的一些基本概念
什么是对象
谈对象之前先说说对象的两个特征。
对象的特征分为静态特征和动态特征。
静态特征
静态特征指对象的外观、性质、属性等。
人们常常将对象的静态特征抽象为属性,用数据来描述,被称之为变量。
动态特征
动态特征指对象具有的功能、行为等。
人们通常将动态特征抽象为一组动作,用函数来描述,被称之为方法。
对象 = 一组属性 + 一组对属性进行操作的方法
什么是类
通常将具有相同属性和相同行为的一组对象称为类。广义来讲,具有共同性质的实物的集合称之为类。
类是一个独立的单位。
它有一个类名。
它的内部包括变量,用于描述对象的属性。
还有包括类的成员方法,用于描述对象的行为。
类的性质
封装性
封装性将会隐藏类的细节
比如说这个栗子,当外部程序想要调用这个类的getAverage函数,程序员只需要直到这个函数会给我返回一个平均数,不需要去关心这个函数是怎么实现的,这就是封装性。
多态性
多态允许程序中出现多个同名函数,只需要它们的形参不完全相同即可。
如图存在两个GetAll函数,但他们的形参并不完全相同。
继承性
如果类B继承了类A,则类B遍具有类A的全部性质和功能。
我们称 A为基类、父类、超类
称B为子类、派生类。
通过extends关键字来继承Student,这样SuperStudent就拥有了Student的全部变量和方法。
小结
对象和类是什么关系?
左边就是类,类是抽象的、概念上的定义。
右边就是对象,对象是实际存在的类的个体,称为实例。
图中右边的汽车也就是对象 , 就是按照左边的汽车模版 也就是类 来生产的。