第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
上例中,实例变量len
和width
保存的是对象的状态,并在area方法内集中在相同的地方(对象本身)。该方法使用对象的状态来返回