面向对象概念
文章目录面向对象概念语言分类面向对象类class面向对象三要素面向对象概念语言分类语言的分类面向机器抽象成机器指令,机器容易理解代表:汇编语言面向过程问题规模小,可以步骤化,按步骤顺序处理。例如:做一件事情,排出个步骤,第一步干什么,第二步干什么,如果出现情况A,做什么处理,如果出现了情况B,做 什么处理。代表:c语言面向对象OOP随着计算机需要解决的问...
·
面向对象概念
语言分类
- 语言的分类
- 面向机器
- 抽象成机器指令,机器容易理解
- 代表:汇编语言
- 面向过程
- 问题规模小,可以步骤化,按步骤顺序处理。
- 例如:做一件事情,排出个步骤,第一步干什么,第二步干什么,如果出现情况A,做什么处理,如果出现了情况B,做 什么处理。
- 代表:c语言
- 面向对象OOP
- 随着计算机需要解决的问题的规模扩大,情况越来越复杂。需要很多人、很多部门协作,面向过程编程不太适合 了。
- 代表:C++,java,Python,C#等
面向对象
- 面向对象是一种认识世界、分析世界的方法论。将万事万物抽象为各种对象。
类class
- 类是抽象的概念,是万事万物的抽象,是一类事物的共同特征的集合。
- 用计算机语言来描述类,是属性和方法的集合。
举例:
- 你吃鱼
- 你,就是对象;鱼,也是对象;吃就是动作
- 你是具体的人,是具体的对象。你属于人类,人类是个抽象的概念,是无数具体的人的个体的抽象。
- 鱼,也是具体的对象,就是你吃的这一条具体的鱼。这条鱼属于鱼类,鱼类是无数的鱼抽象出来的概念。
- 吃,是动作,也是操作,也是方法,这个吃是你的动作,也就是人类具有的方法。如果反过来,鱼吃人。吃就是鱼 类的动作了。
- 吃,这个动作,很多动物都具有的动作,人类和鱼类都属于动物类,而动物类是抽象的概念,是动物都有吃的动 作,但是吃法不同而已。
- 你驾驶车,这个车也是车类的具体的对象(实例),驾驶这个动作是鱼类不具有的,是人类具有的方法。
- 属性:它是对象状态的抽象,用数据结构来描述。
- 操作:它是对象行为的抽象,用操作名和实现该操作的方法来描述。
- 每个人都是人类的一个单独的实例,都有自己的名字、身高、体重等信息,这些信息是个人的属性,但是,这些信 息不能保存在人类中,因为它是抽象的概念,不能保留具体的值。
- 而人类的实例,是具体的人,他可以存储这些具体的属性,而且可以不同人有不同的属性。
哲学
- 一切皆对象
- 对象是数据和操作的封装
- 对象是独立的,但是对象之间可以相互作用
- 目前OOP是接近人类认知的编程范式
面向对象三要素
- 封装
- 组装:将数据和操作组装到一起。
- 隐藏数据:对外只暴露一些接口,通过接口访问对象。
- 比如:驾驶员使用汽车,不需要了解汽车的构造细 节,只需要知道使用什么部件怎么驾驶就行,踩了油门就能跑,可以不了解其中的机动原理。
- 继承
- 多复用,继承来的就不用自己写了
- 多继承少修改,OCP(Open-closed Principle),使用继承来改变,来体现个性
- 多态
- 面向对象编程灵活的地方,动态绑定
人类就是封装:
- 人类继承自动物类,孩子继承父母特征。分为单一继承、多继承;
- 多态,继承自动物类的人类、猫类的操作”吃“不同。
更多推荐
已为社区贡献4条内容
所有评论(0)