美文网首页
面向对象基础概念

面向对象基础概念

作者: 04a07ffbfb62 | 来源:发表于2016-05-24 16:57 被阅读43次

程序

程序 = 指令 + 数据
代码可以选择以指令为核心或以数据为核心进行编写

两种范式

  • 以指令为核心:围绕‘正在发生什么’进行编写
* 即**面对过程编程**:程序具有一系列线性步骤:主题思想是代码作用域数据;
* 面向过程:程序 = 算法 + 数据结构
  • 以数据为核心:围绕‘将影响谁’进行编写
    • 面对对象编程(OOP):围绕数据以及为数据严格定义的接口来组织程序,用数据控制对代码的访问
    • 面向对象:将问题空间中的元素以及他们在解空间中的表示无抽象为对象,并允许通过问题来描述问题而不是方案;

面对对象核心概念

类型由状态集合(数据)和转换这些状态的操作集合组成

  • 类抽象
    • 类:定义了被多个同一类型对象共享的结构和行为(数据和代码)
    • 类的成员即 数据 和 代码
      • 数据:成员变量或实例变量
      • 成员方法:简称为方法,是操作数据的代码,用于定义如何使用成员变量,因此一个类的行为和接口是通过方法来定义的
    • 方法和变量:
      • 私有:内部使用
      • 公共:外部可见

面对对象的程序设计方法

  • Everything is object
  • 程序是一大堆对象的组合
    • 通过消息传递,各对象知道自己该做什么
    • 消息:即调用请求
  • 每个对象都有自己的存储空间,并可以容纳其他对象(例如列表内部可以容纳其他对象)
    • 通过封装现有对象,可以制作为新型对象
  • 每个对象都属于某一类型
    • 对象是类的实例
    • 类的一个重要特性为“能发什么样的消息给它”(即类的某个方法的调用)
  • 同一个类的所有实例都能接受相同的消息

对象的接口

  • 定义一个类后,可以根据需要实例化出多个对象;
  • 利用对象完成工作
    • 必须有一种办法对对象发出请求,令其做一些事(即 类的方法)
    • 每个对象仅能接受特定的请求

类间关系

  • 依赖:一个类的方法去操纵另一个类的实例
  • 聚合(has-a):类A的实例包含类B的对象
  • 继承(is-a):描述特殊与一般的关系

面对对象编程原则

面对对象程序设计有3个原则:封装、继承及多态

封装(Encapsulation)
  • 隐藏实现方案细节
  • 将代码及处理的数据绑定在一起的编程机制,用于保证程序和数据不受外部干扰且不被误用
继承(Inheritance)
  • 一个对象获得另一个对象属性的过程:用于实现按层分类的概念
  • 一个深度继承的子类继承了类层次中它的每个祖先的所有属性
多态(Polymorphism)
  • 允许一个接口被多个通用的类动作使用的特性,具体使用哪个动作与应用的场合相关
  • ‘一个接口,多个方法’:用于为一组相关的动作设计一个通用的接口,以降低程序复杂性

    +的使用,具体由传入对象来决定

    def plus(x, y):
    print x + y
    plus(1, 3)

    4
    plus('a', 'b')
    ab
    plus([1, 2], [3, 4])
    [1, 2, 3, 4]

相关文章

  • 第七章 面向对象技术(1)

    7.1 面向对象基础 —— 基本概念1.Unified Modeling Language - UML,是面向对象...

  • 【自学Java】语言入门(二)幼儿班 面向对象

    第二章 面向对象 2.1 基础概念 2.1.1 面向对象 面向对象:考虑我该找“谁”(对象)去做 ,例 java...

  • 面向对象基础概念

    程序 程序 = 指令 + 数据代码可以选择以指令为核心或以数据为核心进行编写 两种范式 以指令为核心:围绕‘正在发...

  • 面向对象一

    面向对象基础(一) 什么是面向对象,面向对象的抽象概念 使用对象时,只关注对象提供的功能,不关注其内部细节。如jq...

  • pythonx1_面向对象

    面向对象 基础 === oop面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象...

  • 编程体系结构(06):Java面向对象

    一、基础概念 1、面向对象概念 面向对象编程的主要思想是把构成问题的各个事务分解成各个对象,建立对象的目的不是为了...

  • 2018-07-31Python (11)

    python 基础语法(11) 面向对象 概念 面向对象最重要的概念就是类和实例,类是实例的抽象,而实例是类的具象...

  • 面向对象编程概念

    前言: 这一章,面向对象编程概念会教会你面向对象编程背后的核心概念:对象,消息,类和基础。这章最后会代码形式展示给...

  • 11.19 面向对象编程1/2

    数据封装、继承和多态只是面向对象程序设计中最基础的3个概念 类和实例 面向对象最重要的概念就是类(Class)和实...

  • 面向对象设计的头 5 大原则

    SOLID原则,是面向对象编程的几个重要概念的英文首字母缩写,也是面向对象编程中最基础的几个概念。最早是由《代码清...

网友评论

      本文标题:面向对象基础概念

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