一:面向对象的概念
*面向对象是一种符合人类思维习惯的编程思想。现实生活中存在着各种形态不同的事物,这些事物之间存在着各种各样的联系。在程序中使用对象来映射现实中的事物,使用对象的关系来描述事物之间的联系,这种思想就是面向对象。
*面向过程,是分析解决问题的需要的步骤,然后用函数把这些步骤一一实现,使用的时候一个一个依次调用就可以了。
*面向对象,则是把解决的问题按照一定的规则划分为多个独立的对象,然后通过条用对象的方法来解决问题。当然,一个应用程序会包含多个对象,通过多个对象的相互配合来实现应用程序的功能,这样当应用程序功能发生变化时,只需要修改个别的对象就可以了,从而使代码更容易得到维护。
二:面向对象 对象编程
*二十世纪七十年代发展起来的
*结构化编程的解决方案
*模拟人类的思维过程
*将数据当做单个“对象”进行操作
Object(对象); Oriented; Programs;
三:万物皆是对象 everything is Object;
*现实生活中所有的事物都是对象
*对象都具有某些特征,并展现某些行为
例如:汽车
特性:车型,载客人数,起始站点,终点等等
行为:启动,行驶,刹车,开门等等
例如:人
特性:姓名,身高,年龄,学历,体重等等
行为:学习,运动,思考,跑步,吃饭等等
四:对象的概念
*对象可以是看得见,摸得着的有形的实体,如计算机,手机,电脑,汽车等等
*对象也可以表示人或组织所起的作用,如治病,教学,生产等等
*对象还可以表示事件,如各种事故,演出,战斗,开会等等
*对象更可以表示规则,如各种专家规则,约束条件,正则表达式等等
五:对象的两个要素
* 属性:
用于描述对象静态特性(结构特性)的一个数据项。如描述一个人可以用姓名,性别,身高,身份证都属性
*方法:
用于描述对象动态特征(行为特性)的一个操作系列。如每个人都具有工作,学习,思考等行为特性。
六:对象的封装性能
*对象就是一组属性和相关的方法的集合。这是面向对象方法与结构化方法的重大区别之一;
*对象将数据和施加于数据上的操作打包成一个不可分割的最基本的模块,使得仅有该类的有限个方法才可以操纵,改变这些数据。
七:类
*把众多的事物归纳,划分成类是我们在认识世界时经常采用的方法
*分类所依据的原则是抽象,也就是忽略事物的非本质特征,只注意那些与当前目标有关的本质特征。
*找出事物的共性并将具有共同性质的事物划分为同一类
类------------------------------------------------->实例化为-------------------------------------->对象
(数据或者变量 方法) (属性或者状态 操作或者行为)
类<-----------------------------------------------抽象化为<--------------------------------------对象
(数据或者变量 方法) (属性或者状态 操作或者行为)
八:抽象
各种多边形对象:长方形,三角形,梯形,张方形······
抽象为多边形类:属性:顶点,边的颜色,填充的颜色····
方法:绘制,移动,擦除·······
九:类的概念
*同一类中的对象有相同的属性(也称成员变量,它描述该类的静态特性或者结构特性)
*同一类中的对象有相同的方法(也称服务,它描述该类的动态特性或者动态特性)
*同一类中的对象遵守相同的语法规则。(共同的约束或规则)
十:数据抽象
*数据抽象是识别特定实体的属性和方法的过程
类(属性,方法)
十一:面向对象编程的原则
*封装
*继承
*多态
十二:总结
*面向对象编程:Object,Oriented,Programs
*对象的两个要素是:属相和方法
*找出事物的共性并将具有共同性质的事物划分为同一个类
*深刻理解面向对象理论概念对于编写良好程序意义极其重大