面向对象概述:
1.程序设计方法
2.面向对象的基本概念:
对象:万物皆对象,对象是由静态的属性和动态的方法组成。
类:一组具有相同属性和行为对象的抽象。
消息:对某个对象发送请求,比如:手机收到来电。
方法:对象收到请求的响应,比如:手机收到来电的前后会响铃或者震动提示。
3.面向对象的基本特征:
抽象:从一个具体的对象中提取一组数据,去除非本质和特性的属性,保留本质的,共性的。
比如学生,有很多属性(学号,姓名,性别,身高,体重,血型,专业,班级,成绩)。如果我们要做的是一个学生成绩管理系统,我们应该关注的,除了学生的基本信息(姓名,性别),还要关注和学习相关的属性(学号,专业,班级,成绩)。不用关注学生的血型,体重,身高,而如果是一个学生健康管理系统,那么除了基本属性,身高,血型,体重,就是学生的本质属性。
封装:给对象一个边界,内部的信息尽量的隐藏,只留对外的操作接口。
比如:显示器,有一个外壳,内部的元器件是看不到的,更是不允许直接拨弄的,而是留下电源,信号接口以及调节亮度的按钮。封装使得对象更加安全,容易。
继承:继承是允许后代直接使用前辈已经拥有的。
比如:谁长的想谁的父母,那就是继承了部分父母的基因。如果自然界中没有,世界依然是混沌的状态,所有的生物的出现都是冲出是状态开始,也就没有了进化,继承是一种代码重用的机制,使得代码更加省略,更可靠,更高效。
比如:一个拥有卡车设计和制造能力的企业,要设计和制造消防车,显然比没有经验的企业更加高效和可靠,以为它继承了之前的设计和制造能力,只要在这个基础上稍加改造即可。
多态:同一条消息发送给不同的对象,他们做出的响应可能不同。
比如:跑步运动员和游泳运动员,都有”出发“的这个方法,当收到裁判员传来的消息时,都开始执行”出发“,待时所做的动作时完全不同的。
多态存在的三个必要条件:继承,重写,父类引用指向子类对象。
面向对象程序设计方法实际上是我们习惯的人的思维方式去思考和设计,其实是返璞归真,并没有什么难的。