面向对象的理解,答案整理

整理对面向对象的理解

说道面向对象,首先想到的就是面向对象的三大特征:(封装、继承、多态)
我们想简单说一下这三个的含义:
1.封装

这是面向对象最核心的特征。每个对象包含所能操作的所有信息,通过实例化类来生成对象。封装就像建房子,类就是房子,属性是门窗,字段是房子里的东西,方法是人的行为。属性对字段有保护作用,防止字段被随意的修改或读取

好处:1.能减少耦合;2.类内部的实现可以自由修改;3.类有清晰的对外接口

2.继承
表示一种“is-a”的关系,子类可以继承父类的所有特性,也可以自定义自己的特性

1.子类可以继承父类除private外的所有特性
2.子类可以重写父类的特性
3.子类可以拓展父类没有的属性和方法
缺点:子类和父类具有强耦合性

“is-a”关系就是继承关系,例如类中的父与子继承,“has-a”是一种子和关系,例如轮胎和汽车

3.多态
多态表示不同的对象可以执行相同的动作,但是要通过他们自己的方式来实现。例如猫叫,狗叫都是动物叫,但是实现的方式不同。

1.子类可以以父类的身份出现(使用父类的地方也可以用子类来代替)
2.子类在工作时以自己的方式来实现
3.子类以父类的身份出现时,独有的属性和方法不同使用
多态的使用方式:以父类来声明,以子类的方式来实例化。比如在调用“动物叫”方法的地方,都可以替换成”猫叫“或”狗叫“,即不同的对象执行相同的动作

面向对象举例理解

人.吃饭(),这是面向对象
张嘴->往嘴里放东西->咀嚼->吞下去,这是面向过程
第一种注重的是“人”这个对象,第二种注重的是”吃“这个过程。 但实际上"人.吃饭()"这个方法底层也是靠“吃”这个过程实现的。

面向对象是将现实中的事物对象化,比如人是一个对象,狗是一个对象,假如人牵着狗散步是一段程序,那么执行人牵着狗的内部却是顺序执行。顺序执行通俗的说就是面向过程,其实面向对象之中是包含面向过程的思想。但是假如是面向过程来实现人牵着狗散步。就必须先先创建人和狗。但是创建人和狗会顺序创建,并不会提取他们的特性对象化。所以说他的重用性很低。如果我在执行一段人牵着狗,假如这只狗不是上面那个狗,比如,上面是贵宾犬,这个是阿拉加斯。那么因为我不是面向对象编程,并没有提取狗的特性,那么在执行这个人牵着狗,就得重新在这一遍然后顺序执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值