面向对象编程基础
? 对象
对象object就是变量和相关的方法的集合,其中变量表明对象的状态,方法表明对象所具有的行为。
对象是有状态(数据)和行为(功能)等内容的。例如:要说明一个学生,需要提供姓名、学号、出生日期、专业、兴趣爱好等,这些用于描述对象的数据元素称为对象属性。而学生的行为会包括注册、选课、考试等,这些表示对象可能产生的操作称为对象的行为(或操作、方法)。
? 类
类class中定义一类对象共有的变量和方法。把一个类实例化即生成该类的一个对象。
类(class)是同一类型对象的抽象,对象是类的实例化。如,黄色的钢笔、黑色的钢笔等可以抽象出钢笔类。类定义了每个属于该类的对象的数据结构(即类的属性或成员变量)以及由这些对象执行的操作或方法(即类的成员方法或操作)。如,人作为一个研究对象,其特征包括年龄,身高,体重等,这些可以看作对象的属性。而 人的行为动作作为对象的动态特性可以看成是对象的成员方法,如吃、睡。
? 消息
对象之间必须要进行交互来实现复杂的行为,用消息message的形式提供信息,消息包括:接收者,方法,参数。
面向对象的特性
? 封装
面向对象编程的核心思想之一就是将数据和对数据的操作封装在一起。通过抽象,从具体的实例中抽取共同的性质形成一般的概念(即类)。
? 继承
继承体现了一种先进的编程模式。子类可以继承父类的属性和功能,即继承了父类所具有的数据和数据上的操作,可以增加子类独有的数据和数据上的操作,也可以修改父类的数据和数据上的操作。
? 多态
多态是面向对象编程的又一重要特征。例如,班主任要求全班同学打扫卫生,而在执行打扫卫生任务时,有人扫地,有人洒水,有人擦玻璃。从软件的角度看,多态是指操作名称相同,但实现的功能不同。如计算面积可以同一使用area()方法,但是根据操作接受的参数不同,可以实现计算圆的面积,长方形的面积等等。Java中使用方法覆盖、方法重载、接口等技术实现这种多态性。
原文地址:https://www.cnblogs.com/wangjiong/p/9606858.html