第13章 面向对象编程的四大支柱

“优良设计创造价值的速度,快于其增加成本的速度。”

——托马斯·C.盖勒(Thomas C.Gale)

面向对象编程有四大概念:封装、抽象、多态和继承。它们共同构成了面向对象编程的四大支柱。编程语言必须同时支持这4个概念,才能被认为是一门面向对象编程的语言,如Python、Java 和 Ruby。本章将分别学习面向对象编程的4个支柱。

13.1 封装

封装(encapsulation)包含两个概念。第一个概念是在面向对象编程中,对象将变量(状态)和方法(用来改变状态或执行涉及状态的计算)集中在一个地方——即对象本身。示例如下:

01  # http://tinyurl.com/j74o5rh
02
03
04  class Rectangle():
05      def __init__(self, w, l):
06          self.width = w
07          self.len = l
08
09
10
11      def area(self):
12          return self.width * self.len

上例中,实例变量lenwidth保存的是对象的状态,并在area方法内集中在相同的地方(对象本身)。该方法使用对象的状态来返回

《Python编程无师自通》第13章 面向对象编程的四大支柱相关推荐

  1. Matlab AppDesigner编程教程第1章——面向对象编程

    Matlab AppDesigner编程教程第1章--面向对象编程 文章目录 Matlab AppDesigner编程教程第1章--面向对象编程 前言 一.什么是面向对象编程 二.使用步骤 1.新建类 ...

  2. Java基础编程\第四-六章(面向对象编程)

    Java面向对象学习的三条主线: (第4-6章) 文章目录 面向对象的举例 属性(成员变量)和局部变量 类中方法的声明和使用 Train(圆面积) ==Train(对象数组)== ==对象数组的内存解 ...

  3. python浓缩(13)面向对象编程

    为什么80%的码农都做不了架构师?>>>    本章主题 ? 引言 ? 面向对象编程 ? 类 ? 实例 ? 绑定与方法调用 ? 子类,派生和继承 ? 内建函数 ? 定制类 ? 私有性 ...

  4. 第二章(1):Python入门:语法基础、面向对象编程和常用库介绍

    第二章(1):Python入门:语法基础.面向对象编程和常用库介绍 目录 第二章(1):Python入门:语法基础.面向对象编程和常用库介绍 1. Python 简介 1.1 Python 是什么? ...

  5. 第7章 面向对象编程(OOP) 《Kotin 编程思想·实战》

    第7章 面向对象编程(OOP) 7.1 面向对象思想 7.2 类与继承 7.2.1 类 7.2.1.1 抽象类 7.2.1.2 接口 7.2.1.3 枚举 7.2.1.4 注解 7.2.1.5 静态类 ...

  6. 《PHP精粹:编写高效PHP代码》——第1章面向对象编程

    本节书摘来自华章社区<PHP精粹:编写高效PHP代码>一书中的第1章面向对象编程,作者:(美) Davey Shafik,更多章节内容可以访问云栖社区"华章社区"公众号 ...

  7. python快速入门【五】---- 面向对象编程、python类

    python入门合集: python快速入门[一]-----基础语法 python快速入门[二]----常见的数据结构 python快速入门[三]-----For 循环.While 循环 python ...

  8. 《Kotin 极简教程》第7章 面向对象编程(OOP)(1)

    第7章 面向对象编程(OOP) 最新上架!!!< Kotlin极简教程> 陈光剑 (机械工业出版社) 可直接打开京东,淘宝,当当===> 搜索: Kotlin 极简教程 http:/ ...

  9. 非零基础自学Java (老师:韩顺平) 第10章 面向对象编程(高级部分) 10.6 抽象类

    非零基础自学Java (老师:韩顺平) ✈[[零基础 快速学Java]韩顺平 零基础30天学会Java] 第10章 面向对象编程(高级部分) 文章目录 非零基础自学Java (老师:韩顺平) 第10章 ...

最新文章

  1. linux usb驱动
  2. CreateEvent的用法
  3. Java黑皮书课后题第5章:*5.31(金融应用:计算CD价值)假设你用10 000美元投资一张CD,年利率为5.75%。编写程序,提示由用户输入一个金额数、年获利率、月份数,然后显示一个表格
  4. 关于Binder的点点滴滴(二)
  5. 理解SSD多盒-实时目标检测
  6. 查看ORACLE的实际执行计划
  7. 自己动手写CPU之第五阶段(1)——流水线数据相关问题
  8. P1262 间谍网络
  9. 桥牌笔记:一定要飞张?
  10. 怎样压缩图片大小到20k?教你一键压缩图片大小
  11. anywhere无法获取服务器响应,使用Chat Anywhere可能出现的问题与解决方法
  12. Python 图像拼接
  13. 头豹研究院发布《2022年中国数据库产品策略解析报告》
  14. jekins相关资料
  15. Python个人项目1 --------电商项目
  16. php算html语言吗,为何说PHP 是一种 HTML 内嵌式的语言
  17. 殇一曲、谁伴我地老天荒
  18. 计算机控制课程设计论文,计算机控制课程设计论文..doc
  19. deepin商店不能安装软件,解决方法出来了,快看
  20. 花瓣网首页头部背景图效果

热门文章

  1. python循环10次怎么写_python循环怎么写
  2. (已更新)价值8000元APP封装系统 自动实现5分钟随机更换包名和签名
  3. 爱因斯坦—玻尔之争和马赫的实证主义
  4. 龙格库塔c 语言编程实现,龙格库塔C 语言编程实现
  5. 复变函数 —— 5. 什么是初等复变函数
  6. 直播打断事件处理(音视频SDK高级功能四)
  7. [转载]你省下来的钱,够买时间吗?
  8. java.net.MalformedURLException: no protocol异常解决!!!
  9. 空间数据引擎oracle_GIS空间数据引擎概念、作用及体系作用
  10. CPU和GPU的设计区别