美文网首页
面向对象的思考

面向对象的思考

作者: 玄天英杰 | 来源:发表于2021-03-09 19:43 被阅读0次

什么是面向对象

1、维基百科说,面向对象程序设计是是种具有对象概念的编程典范,同时也是一种程序开发的抽象方针。它可能包含数据属性代码方法。对象则指的是(class)的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性,对象里的程序可以访问及经常修改对象相关连的数据。在面向对象程序编程里,计算机程序会被设计成彼此相关的对象[1][2]

2、我的理解是:对处理的事物或问题,抽象出包含其特征,行为和关系的模型,这些模型称之为接口或类;并使用继承、封装、多态、实现、组合等方式来运用接口或类创建对象实例。

3、面向对象程序设计(oop : Object Oriented Programming就是使用这些对象实例做程序设计和研发的过程。其目的是为了开发出可维护、可读、可扩展、可复用的代码。还有OOD(面向对象的设计)OOA(面向对象的分析)

面向对象的特性

1、封装
  隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。
2、继承
  提高代码复用性;继承是多态的前提。
3、多态
  指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。消除类型之间的耦合关系,提高了程序的拓展性。

面向对象的原则

1、单一职责原则SRP(Single Responsibility Principle):高内聚,低耦合。抽象出的类应该只有一个职责,避免相同的职责分散到不同的类中。

2、开放封闭原则OCP(Open-Close Principle):开放扩展类的能力,封闭修改类的行为。使用抽象编程,而不要使用具体编程,因为抽象相对稳定。让类依赖于固定的抽象类和接口,所以修改是封闭的;而使用继承和多态,可以继承抽象类或者实现接口,通过重写其方法来改变固有行为,实现方法的拓展,所以就是开放的。

3、里式替换原则LSP(the Liskov Substitution Principle LSP):子类必须能够替换其父类。其目的是对继承操作的约束。要求子类可以扩展父类的功能,但不能改变其原有功能。如果非要重写父类的方法,较好的做法是:原来的父类与子类继承一个更通俗的基类,原有的继承关系去掉,采用依赖、聚合,组合等关系替代。

4、依赖倒置原则DIP(the Dependency Inversion Principle DIP):高层模块不应该依赖于低层模块,他们都应该依赖于抽象;抽象不应该依赖于具体实现,具体实现应该依赖于抽象。应该让底层模块定义抽象接口并且实现,让高层模块调用抽象接口,而不是直接调用实现类。

5、接口分离原则ISP(the Interface Segregation Principle ISP):高内聚,建立单一接口,接口中的方法尽量少。模块间要通过抽象接口隔离开,面向接口编程。

相关文章

  • Java面向对象概述

    标签(空格分隔): Java面向对象 问题思考 什么是面向对象? 为什么要面向对象? 怎么面向对象? 问题解决 什...

  • OC语言基础

    一、面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注...

  • 面向对象模式的一点思考

    面向对象模式是一种很自然的思考模式,基本上所有的东西都可以用面向对象来思考。在游戏中引入面向对象的模式思考,任何一...

  • 对象-面向对象简介

    面向对象:是一种思想,不是具体的语言 对比面向过程: 面向过程:思考的切入点是功能的步骤 面向对象:思考的切入点是...

  • 面向对象的思考

    什么是面向对象 1、维基百科说,面向对象程序设计是是种具有对象[https://zh.wikipedia.org/...

  • 猿学-Java基础教程包、 继承 、抽象讲解

    面向对象 面向对象是一种思考问题的方式,以对象的形式来思考问题 类:是对象描述 ,类是对象的抽象(抽象:提取对象的...

  • Python 面向对象1(入门)

    一、什么 是面向对象 面向对象就是一种编程思想[处理问题的思路] 面向过程编程:面向~设身处地换位思考--面向过程...

  • Java 第三章 面向对象

    什么是面向对象? 1.面向对象是一种编程思想。 2.面向对象是一种思考问题的思维方式。 面向对象的出现将复杂的问题...

  • 面向对象

    1.理解面向对象和面向过程 面向过程:思考,我该怎么做。 面向对象:我该让谁来做。 面向过程举例:假如我们需要买组...

  • 面向对象

    面向对象就是一种常见的思想,符合人们的思考习惯; 面向对象的出现,将复杂的问题简单化; 面向对象的出现,让曾经在过...

网友评论

      本文标题:面向对象的思考

      本文链接:https://www.haomeiwen.com/subject/kmvbqltx.html