1.理解面向对象
(1)结构化程序设计(面向过程程序设计)
程序 = 算法 + 数据结构
算法第一位,数据结构第二位
(2)面向对象程序设计
程序 = 对象 + 对象 + ~~~
数据第一位,算法第二位
关键:让每一个对象负责执行一组相关任务
(3)面向对象编程的特性
万物皆对象,程序是一组对象彼此之间在发送消息,每个对象都有自己的内存占用,可以组装成更大的对象。每个对象都有类型,特定类型的所有对象可以接收相同的消息。
2.面向对象的优点
(1.)便于程序模拟现实世界中的实体
用"类"封装建模实体对象的状态和行为
(2.)隐藏细节
对象的行为和状态被封装在类中,外界通过公开的接口调用类的方法来获得状态信息,不需要关注内部细节如何实现。
(3.)可重用
可以通过类模板,创建多个对象实例,重用类的定义代码。
3.类和对象的概念、区别和联系
(1)概念:
①类:类是创建对象的模板和蓝图,类是一组类似对象的共同抽象定义(它是一个抽象的概念)
②对象:对象是类的实例化的结果(对象是通过类构造出来的),是具体的,是实实在在存在的,代表现实世界的某一事物。
③对象的两个关键特性:
行为:对象能干什么
状态:对象的属性,行为的结果(一个对象的行为有可能改变一个对象的状态或者属性)
(2)区别
①类是静态定义
②对象是动态实例
③程序代码操作的是对象而非类
④建模得到的是类而非对象
(3)联系
①类是对象的定义(也可以理解为类是对象的数据类型)
②对象的产生离不开类这个模板
③类存在的目的是实例化得到对象
4.类的建模是一个抽象和封装的过程
①抽象:去掉不关注的,次要的信息而保留重要的信息
②封装:信息打包,简单来说:将抽象出来的属性和方法包装在一个类中