知识大纲
一、什么是面向对象
权威的定义
- 面向对象
(Object Oriented,OO)
是软件开发方法。
泛指现实中一切事物,每种事物都具备自己的属性和行为。面向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算 机事件的设计思想。
通俗的定义
- 月饼的比喻:
几个概念:类
对象
属性
方法
月饼有各种各样的形状(模板,软件工程当中的”类”),中秋节商场里买月饼,商场里有各个不同形状的月饼(软件工程当中的”对象”),月饼的重量,颜色,形状,尺寸等这些类比软件工程当中的”属性”,月饼的生产方法,将面粉放到不同模板当中就可做出各种不同形状的月饼(软件工程当中的”方法”)
二、面向对象在实际工作中的作用
1.有利于团队合作,分工、分模块开发
2.提高工作效率
三、面向对象的几个概念
1.类
定义:具有同种属性的对象称为类,是个抽象的概念。
它定义了所包含的全体对象的公共特征和功能。
- 举例:“人”就是一类,比如波哥、波波、哥哥等等这些都是对象,类就相当于一个模具,对象就是类的一个实例化,波哥就是人的一个实例化!我们在做程序的时候,经常要将一个变量实例化,就是这个原理!
一般情况下,在调用类时不直接调用类,而是通过类的对象来操作,比如我们问波哥的时候,不会喊“人,你干嘛呢!” 相反我们会问“波哥,你在干嘛呢!”
2.对象
定义:某个抽象类的实例化
- 举例:同上
3.属性
定义:属性用来描述具体某个对象的特征,属性属于对象
静态
的一面,用来形容对象的一些特性
举例:波哥身高181CM,体重80KG,这里身高、体重都是属性。
4.行为或方法
定义:方法属于对象动态的一面.
举例:猴子会跑,会学人说话,跑、学人说话这些行为就是对象的方法!表现为动态
的一面
5.面向对象三大特征
1).封装
隐藏隐私数据,对外暴露公开的接口,增强安全,简化编程
通过引入外部包小写字母开头的私有的结构体来实现封装,我们引入了工厂方法
来实现
通过引入外部包结构体中小写字母开头的私有字段来实现封装,我们引入gettter
和setter
来实现
2).继承
子类继承父类,子类自动拥有父类的属性和方法
这里我们通过封装一个公共的支付结构体,把它做为父类,同时实现4个不同支付平台的结构体,把这4个不同支付平台的结构体做为子类,来实现继承的功能
详细的分析了在多个继承关系当中,如果有相同的数据字段,他们的访问顺序
方法的继承与重载
多重继承作业,实现多重继承当中接口的所有方法
3).多态
同一种类型在不同场景下表现为不同的行为,我们举了生活中的饮用水,在不同的温度下水的三种形态,分别为冰,水,蒸汽
多态的定义格式与实现方式
结构体与自定义类型都可以实现接口中的方法
接口的多重继承实现方式
知识大纲