面向对象简介

本文对比了面向过程和面向对象两种编程范式的优缺点。面向过程适用于处理具体问题,但可能难以管理和扩展;面向对象则通过封装、继承和多态等特性提高了软件的灵活性和复用性。

面向对象和面向过程

  • 面向过程

    • 面向过程用于处理详细的问题,是具体的,流程化的,需要一步一步的去分析,比如需要做一件事,先做什么,再做什么,最后做什么。
    • 对于过于复杂的问题,仅仅用面向过程是不够的。但是在性能方面,面向过程强于面向对象,因为类的调用,需要实例化,比较消耗资源
  • 面向对象

    • 在处理更为复杂的情况时,我们可以用面向对象的思路来分析整个系统,将系统拆分为各种模块,将每个模块用面向过程的方法抽象成类,然后封装,方便我们使用

    • 面向对象易维护、易复用、易扩展的优点。

    • 面向对象由于其特性,可以设计出低耦合的系统,使系统更加灵活和易于维护。

什么是面向对象

  • 面向对象编程(Object-Oriented Programming,OOP)

  • 面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。

  • 抽象:编程思想! //大概是抽取共同的部分或者说抽取像的部分

  • 三大特性:

    • 封装

      隐藏对象的属性和细节,仅对外提供公共访问方式,提高复用性和安全性。

    • 继承

      提高复用性。

    • 多态

      提高拓展性。

  • 五大原则

    • 单一职责原则(SRP)(Single Responsibility Principle)

      类的功能要单一,不能过于复杂

    • 开放封闭原则(OCP)(Open Close Principle)

      对扩展开放,对修改封闭

    • 里氏替换原则(LSP)(Liskov Substitution Principle)

      子类必须可以替换掉它的父类

    • 依赖倒置原则(DIP)(Dependence Inversion Principle)

      高层模块不应该依赖于低层模块,他们都依赖于抽象

      抽象不应该依赖具体细节,具体细节应该依赖抽象

    • 接口分离原则(ISP)(Interface Segregation Principle)

      将接口分为更多、更小、更具体的接口,方便客户仅使用需要的接口,而不是强迫客户全部使用。

  • 从认识论角度考虑是先有对象后有类。对象,是具体的事物。类,是抽象的,是对对象的抽象

  • 从代码运行角度考虑是先有类后有对象。类是对象的模板。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值