编程程序设计

面向对象(Object Oriented Programming)

三大基本特性

面向对象编程就是在编程过程中将客观事物抽象化,在抽象的类中提供数据和操作方法,在有不同的情形和需求下通过继承和多态来实现复用与扩展。

  • 封装
    客观事物封装成抽象的类。
  • 继承
    指可以让某个类型的对象获得另一个类型的对象的属性的方法。
  • 多态
    多态,是指类实例的相同方法在不同情形有不同执行逻辑。

五大基本原则

  • 单一职责原则 SRP(Single Responsibility Principle)
    是指一个类的功能要单一,不能包罗万象。如同社会上职业拆分,各司其职。
  • 开放封闭原则 OCP(Open-Close Principle)
    一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。
  • 里式替换原则 LSP(the Liskov Substitution Principle LSP)
    子类应当可以替换父类并出现在父类能够出现的任何地方。
  • 依赖倒置原则 DIP(the Dependency Inversion Principle DIP)
    具体依赖抽象,上层依赖下层。
  • 接口分离原则 ISP(the Interface Segregation Principle ISP)
    模块间要通过抽象接口隔离开,而不是通过具体的类强耦合起来。

优缺点

  • 优点
    实现重用、扩展等目标。易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护。
  • 缺点
    性能比面向过程低。

面向过程 (Procedure Oriented)

是一种以过程为中心的编程思想,是以什么正在发生为主要目标进行编程。
面向对象的编程方式使得每一个类都只做一件事。面向过程会让一个类越来越全能,就像一个管家一样做了所有的事。

  • 优点
    性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix 等一般采用面向过程开发,性能是最重要的因素。
  • 缺点
    没有面向对象易维护、易复用、易扩展

BMW WARNING

  • Bulletin

本文首发于 skyline.show 欢迎访问。
文章实时更新,如果有什么错误或不严谨之处望请指出,十分感谢。
如果你觉得有用,欢迎到Github仓库点亮⭐️

I am a bucolic migant worker but I never walk backwards.

  • Material

参考资料如下列出,部分引用可能遗漏或不可考,侵删。

https://zhuanlan.zhihu.com/p/75265007​

  • Warrant

本文作者: Skyline(lty)

文章链接:http://www.skyline.show/编程程序设计.html

授权声明: 本博客所有文章除特别声明外, 均采用 CC BY - NC - SA 3.0 协议。 转载请注明出处!

Copyright © 2017 - 2024 鹧鸪天 All Rights Reserved.

skyline 保留所有权利