再次认识面向对象

简介: 再次认识面向对象

面向对象的三大特征?

封装、继承、抽象


面向对象的基础是什么?

抽象


为什么说面向对象的基础是抽象呢?

抽象其实是一个过程,提炼出事物的共同点的过程。

例如:


抽象:猫的头、猫的身体、猫的脚、猫叫、猫抓老鼠)等,这些都属于猫的一个共同特征,所以我们可以抽象出一个东西,就是猫。


封装:


接下来再说封装,既然猫的头、猫的身体、猫的脚、猫叫、猫抓老鼠可以抽象出一个猫这个东西,那么我们就可以把这些特征进行封装,不管是猫的组成部分也好还是猫的一些行为也好,可以封装出来一个猫类。


继承:


那么我们再猫的基础上再进行抽象,猫和狗都属于动物,可以抽象出一个动物类。猫类和狗类都是动物类的子类。


多态:


在动物类中写一个抽象方法:叫,猫类去重写动物类的这个方法可以有自己的实现:猫叫,狗类去重写动物类的这个抽象方法:狗叫,这样不同的子类(猫类和狗类)都重写了父类(动物类)的“叫”这个方法,但是它们的实现确实不同的,猫是猫叫,狗是狗叫,这就实现了多态。


所以说面向对象的基础或者可以说是大前提就是抽象。


那么,到底什么才是面向对象?


先从字面去理解,面向,对象,焦点在于这个对象身上,什么又是对象呢?大家有点点编程基础的都知道一句话,万物皆可为对象。你可以是对象,我可以是对象,他可以是对象,她可以是对象,它也可以是对象。


在了解什么是面向对象之前呢我们先来简单了解一下什么是面向过程,同样也是同字面意思,它的焦点在于这个过程,例如:拿打水举个例子,面向过程呢就是关注于谁去打水,去哪打水,给谁打水,以及他打水走了多少步,上了几个台阶,拧开了水杯,把杯口对准出水口,接满了再拧上杯盖等等等,面向过程关注的他打水的这个过程。从面向对象的角度怎么理解呢?我不需要知道具体谁去打的水,要打给谁,以及走多少步等等一系列过程,面向对象关注的就是打水这件事都包含了几个对象,打水人、受水人、打水的工具、打水的地点,打水人和受水人还能进一步做抽象,抽象为参与者,所以最后只剩这么几个对象:参与者、打水工具、打水地点。至于如何实现,那是下一步要做的事情,利用对象之间的事件驱动,各对象之间再去做关联,这才是面向对象,不需要去考虑打水的过程。


目录
相关文章
|
2月前
|
Java
面向对象
面向对象
37 7
|
5月前
初识面向对象
初识面向对象
面向对象《一》
面向对象《一》
32 0
|
Java
2. 面向对象
面向过程,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求。
143 1
|
Java C++
2. 面向对象(二)
2. 面向对象(二)
116 0
|
Java 编译器
初识面向对象上
初识面向对象上
127 0
初识面向对象上
|
Java
面向对象(一)
面向对象基础
97 0
|
Java 程序员 C语言
关于面向对象的深入理解
最开始的计算机程序编码就是0101,程序员完全要以机器的二进制思维去思考问题;后来有了汇编只是编码形式上有了变化,但是本质并没有改变,程序员们的关注点还是在于机器本身,程序员要对CPU、寄存器等硬件了如指掌;当C语言、COBOL等面向过程的语言横空出世后,这是一次本质上的革命,把程序员从二进制的世界中解救了出来,终于可以让他们“像人一样”去思考问题啦。
关于面向对象的深入理解
|
Java 关系型数据库 程序员
面向对象是什么
近两年设计了几个系统,不管是直接使用传统设计ER图,还是使用4C建模,但在做架构评审时,ER却都是重中之重,让人不得不深思,编程思想经过了一代代发展,为什么还在围绕ER,在远古时代,没有OO,没有DDD,但为什么延续至今的伟大软件也比比皆是 带着这个问题,需要回头看看,结构化编程为什么不行?面向对象因何而起,到底解决了什么问题? 《架构整洁之道》也特别介绍了面向对象编程,面向对象究竟是什么,大多从三大特性:封装、继承、抽象说起,但其实这三种特性并不是面向对象语言特有
148 0
下一篇
无影云桌面