面相对象进行编程

假设一种鞋子(shoe)有尺码(size)和颜色(color)两种属性,以此为例。  类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。通过定义一个特殊的__init__方法,在创建实例的时候,就把size,color属性绑到shoe上去,例如:     

1classShoe(object):

2

3def__int__(self, size, color):

4self.size =size

5self.color = color  

其中,(object)表示继承自哪个类,如果没有合适的继承类,就用object;  self表示实例本身,所以使用__int__方法添加属性,可以把属性添加到self; 数据的封装  从类的内部定义访问数据的函数,这样就可以把数据封装起来。例如:

1classShoe(object):

2

3def__init__(self, size, color):

4self.size =size

5self.color =color

6

7defget_color(self):

8print('%s: %s'% (self.size, self.color))

 要定义一个方法,除了第一个参数是self外,其他和普通函数一样。  要调用一个方法,只需要在实例变量上直接调用,除了self不用传递,其他参数正常传入:

>>>bart.get_color()

32: black  

封装的另一个好处是可以给Student类增加新的方法,比如get_grade:

1classShoe(object):

2...3

4defget_level(self):

5ifself.size >= 40:

6return'A'

7elifself.size >= 32:

8return'B'

9else:

10return'C'

 可以简单的调用get_level,例如:

>>>46.get_level()'A'

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容