zoukankan      html  css  js  c++  java
  • 面向对象的三大基本特征和五大基本原则

    面向过程(POP)

    Procedure Oriented Programming,面向过程是一种以过程为中心的编程思想,分析出解决问题所需的步骤,然后用函数把这些步骤实现,并按顺序调用。它是一种基础的顺序的思维方式,面向对象方法的基础实现中也包含面向过程思想。

    面向对象(OOP)

    Object Oriented Programming,面向对象是按人们认识客观世界的系统思维方式,采用基于对象(实体)的概念建立模型,模拟客观世界分析、设计、实现软件的办法。通过面向对象的理念使计算机软件系统能与现实世界中的系统一一对应。在软件开发过程中,宏观上,用面向对象来把握事物间复杂的关系,分析系统。微观上,仍然使用面向过程。”面向对象“是以“对象”为中心的编程思想。

    区别

     面向过程面向对象
    特性 模块化 流程化 抽象 封装 继承 多态
    维护性、 复用性、 扩展性
    性能

     

    1 三大基本特征

    1.1 封装

    封装是把过程和数据包围起来,隐藏对象的属性和实现细节,对数据的访问只能通过已定义的对外公开接口。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。类就是封装数据和操作这些数据代码的逻辑实体。在一个类的内部,某些属性和方法是私有的,不能被外界所访问。

    通过这种方式,对象对内部数据进行了不同级别的访问控制,就避免了程序中的无关部分的意外改变或错误改变了对象的私有部分,增强安全性和简化编程,使得使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员。

    1.2 继承

    对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。

    通过使用继承,可以在不同的子类中多次重新使用父类中的代码,继承方法和实例变量,使程序结构清晰,易于维护和修改,而子类可以修改或增加新的方法使之更适合特殊的需要。

    1.3 多态

    多态是指一个程序中同名的方法共存的情况,调用者只需使用同一个方法名,系统会根据不同情况,调用相应的不同方法,从而实现不同的功能,多态机制使得不同内部结构的对象可以共享相同的外部接口。多态性又被称为“一个名字,多个方法”。

    多态存在的三个必要条件:继承、重写、父类引用指向子类对象

    2 五大基本原则

    2.1 单一职责原则(Single-Resposibility Principle)

    对一个类而言,应该仅有一个引起它变化的原因。

    2.2 开放封闭原则(Open-Closed principle)

    软件实体应该是可以扩展的,但是不可修改。

    2.3 Liskov替换原则(Liskov-Substituion Principle)

    子类型必须能够替换掉它们的基类型。

    2.4 依赖倒置原则(Dependecy-Inversion Principle)

    抽象不应依赖于细节,细节应该依赖于抽象

    2.5 接口分离原则(Interface-Segregation Principle)

    多个专用接口优于一个单一的通用接口。

  • 相关阅读:
    35-高级特性之iterable与iterator
    33-高级特性之generator(1)
    34-高级特性之generator(2)
    32-高级特性之类装饰器
    什么是Autolayout
    屏幕适配
    NSTimer
    分页
    UIScrollView的缩放原理
    设置图片圆角
  • 原文地址:https://www.cnblogs.com/brewin/p/12681606.html
Copyright © 2011-2022 走看看