面向对象

★面向对象VS面向过程

  在面向对象编程出现之前,几乎所有的程序都是以面向过程为中心的,程序的运行从某个地方开始运行达到一定的目的就结束了。而且程序的代码修改和重复使用率比较低。面向对象把是整个世界看成一系列实体的集合,所有的个体都是对象,而对象就是具有一定属性和行为的实体的集合。

      下面的表格大概的说明了面向过程(OPP)和面向对象(OOP)的区别:

OPP

   

OOP

  



 ★面向对象编程中的类和对象

  是一个抽象概念,比如说我们我们从各式各样的汽车中抽象出汽车的概念、由不同品种的猫抽象出猫的概念、从颜色和形状不同的花中抽象出花的概念;而类与类之间的区分是通过类的状态和行为来区分的。对象是类的一个实例化,刚开始学,很容易把类和对象混淆,举几个例子便于理解,比如说:首都是一个类,北京、华盛顿、伦敦都是对象;动物猫是一个类,Kitty、加菲猫(Grafield)、叮当猫(Doraemon)都是对象。

  

   是抽象的概念,对象是一个实体,我们可以说Garfield有橙色的毛,而不能说猫类有橙色的毛;我们可以说北京在中国,而不能说首都类在中国。一般情况下状态是描述具体对象而非类的,行为是有具体对象发出而不是类。

★面向对象的三大特征

 封装

  制作电脑什么人最牛?当然不是会组装的、也不是会拧螺丝的,而是设计电脑的工程师,因为他知道电脑的运行原理,当我们使用电脑的时候,需要知道电脑的运行原理吗?显然不需要;电脑的运行原理已经被工程师封装在电脑的内部,提供给用户只是一个显示屏、键盘、触摸板和一些接口,用户通过这些就可以很容易的操作电脑。

  面向对象技术把事物的状态和行为的实现细节封装在类中,形成一个可以重复使用的“零件”,被成千上万的对其内部原理毫不知情的程序员使用。类的设计者相当于电脑的工程师,类的使用者相当于用户。

 继承 

 在之前学习UML的时候就已经了解到了继承,在面向对象中的继承分为继承(泛化)、和组合(聚合)。

   多态

  举个例子:我们出去的时候在路口都会看到红绿灯,红灯的时候是停车,这个时候自行车,公交车、小轿车等都会停下,需要提出的是它们的停车方式不同,因为他们也属于不同的类,但是最终的结果是它们都停下来了,是因为有一个共同点的前提,他们都是车,是车类的子类,红绿灯针对的是车类,天上飞鸟、海里游的鱼看见红灯的话就不会停下。

   所以说:多态的对象应该有共同的父类

          就如上例,红灯亮了,不同的对象会根据自身的特点实施不同的动作,最终的结果是都停下来。













评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值