聊聊面向对象

一.面向对象是什么?

面向对象是一种分析方法、设计方法和思维方法。面向对象的出发点和追求的基本目标是使人们分析、设计与实现一个系统的方法尽可能接近人们认识一个系统的方法,使描述问题的问题空间和解决问题的方法空间在结构上尽可能一致。
从程序设计方法的角度看,面向对象是一种新的程序设计范式,其基本思想是使用对象、继承、封装、聚合、关联、消息、多态等基本概念来构造系统的软件。

二.面向对象和面向过程的比较

面向对象程序设计面向过程程序设计(结构化编程)
定义现实中的事物都抽象成为程序设计中的“对象”,其基本思想是一切皆对象,是一种“自下而上”的设计语言,先设计组件,再完成拼装。面向过程是“自上而下”的设计语言,先定好框架,再增砖添瓦。通俗点,就是先定好main()函数,然后再逐步实现mian()函数中所要用到的其他方法。
特点封装、继承、多态算法+数据结构
优点适用于大型复杂系统、方便复用适用于简单系统,容易理解
劣势比较抽象、性能比面向过程低难以应对复杂系统,难以复用,不易维护、不易扩展
对比易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
代表语言Java、C++、Objective-C、C#、PythonC、Fortran

三.面向对象的三大特性

1. 封装
隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。对象的属性与服务结合为一体,成为一个独立的、不可分的实体。
2. 继承
通过在不同程度上运用抽象的原则可以得到较一般的类和较特殊的类。特殊类继承一般类的属性与服务,从而简化系统的构造过程和文档,同时提高代码的复用性,是实现多态的前提。
3. 多态
父类或接口定义的引用变量可以指向子类或具体实现类的实例对象,提高了程序的拓展性。

四.面向对象的七大基本原则

1. 单一职责原则
类的指责要单一,不能将太多的指责放在一个类中
2. 开闭原则
软件实体对扩展是开放的,但对修改是关闭的,即在不修改一个软件实体的基础上去扩展其功能
3. 里氏替换原则
在软件系统中,一个可以接受基类对象的地方必然可以接受一个子类对象
4. 依赖倒转原则
要针对抽象层编程,而不要针对具体类编程
5. 接口隔离原则
使用多个专门的接口来取代一个统一的接口
6. 合成复用原则
在系统中应尽量多使用组合和聚合关联关系,尽量少使用甚至不使用继承关系
8. 迪米特法则
一个软件实体对其他实体的引用越少越好,或者说如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用,而是通过引入一个第三者发生简介交互。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值