面向对象和面向过程的区别以及封装继承多态的优缺点

面向对象和面向过程的区别

1、思路不同

2、特点不同

3、优势不同。

面向过程是直接将解决问题的步骤分析出来,然后用函数把步骤一步一步实现,然后再依次调用就可以了;而面向对象是将构成问题的事物,分解成若干个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在解决问题过程中的行为。面向过程思想偏向于我们做一件事的流程,首先做什么,其次做什么,最后做什么。面向对象思想偏向于了解一个人,这个人的性格、特长是怎么样的,有没有遗传到什么能力,有没有家族病史。

面向对象和面向过程的优缺点

面向过程是一种以过程为中心的编程思想,面向过程编程是基于“冯·诺依曼”模型的。面向过程的优点:流程化使得编程任务明确,在开发之前基本考虑了实现方式和最终结果,具体步骤清楚,便于节点分析。效率高,面向过程强调代码的短小精悍,善于结合数据结构来开发高效率的程序。缺点:需要深入的思考,耗费精力,代码重用性低,扩展能力差,后期维护难度比较大。面向对象优点:易维护、易扩展、易复用,有封装、继承、多态的特性、更容易设计出耦合的系统。缺点:性能比面向过程低。

面向对象的三个特性:

1.封装性

就是把属性和方法都放在一个类里面,而且还可以通过访问类的权限属性给区分开,更加安全,不想要释放的功能,直接搞成私有机制。

java中的四种修饰类型:

public、protected、default、private

作用域当前类同一个包子孙类其他包
public
protected×
default××
private×××

一般封装时属性都会用private修饰更为安全。 

封装的好处:

(1)良好的封装能够减少耦合(代码与界面)

(2)类内部的实现可以自由修改的

(3)类具有清晰的对外接口(确定内容的访问属性,是公有还是私有;字段是只读、只写或者是可读可写等)

2.继承性

就是把之前已经实现好的代码或者方法通过继承的方法拿过来使用,能节省大量的代码量,符合代码设计里面的继承优秀代码特性。

继承的好处:

(1)继承使得所有的子类的公共部分都放在了父类中,使得代码得到了共享。提高了代码的重用性,避免了重复。

(2)继承可使得修改或扩展继承而来的实现都较为容易

(3)使类与类之间产生联系,为多态提供了前提

继承的缺点:

(1)继承具有入侵性(即继承必须拥有父类的所有非私有属性和方法)

(2)父类变,子类变

(2)继承破坏封装,父类实现细节暴露给子类,增大了两个类之间的耦合性

3.多态性

由于可以继承多个类,能够组合成多种特性,但多态的关键是覆盖,就是同一个方法可以用不同的方式去实现,展现出多态性。

多态的优点:

(1)提高了代码的维护性(继承保证)

(2)提高了代码的可扩展性(有多态保证)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sshm_666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值