python五面向对象

面向对象

  1. 由于类可以起到模板的作用,因此,可以在创建实例的时候,通过定义一个特殊的__init__方法,把一些我们认为必须绑定的属性强制填写进去。
class Student(object):
     def __init__(self, name, score):
        self.name = name
        self.score = score
  1. 数据封装:
#内部可以访问
class Student(object):

    def __init__(self, name, score):
        self.name = name
        self.score = score

    def print_score(self):
        print '%s: %s' % (self.name, self.score)

以一个下划线开头的实例变量名,比如_name,这样的实例变量外部是可以访问的,但是约定,视为私有变量,不要随意访问。双下划线开头的实例变量是不是一定不能从外部访问呢?其实也不是。不能直接访问 __name是因为Python解释器对外把__name变量改成了_Student__name,所以,仍然可以通过_Student__name来访问__name变量:
访问通过get_set方法访问:

class Student(object):
    ...

    def get_name(self):
        return self.__name

    def get_score(self):
        return self.__score
    def set_score(self, score):
        if 0 <= score <= 100:
            self.__score = score
        else:
            raise ValueError('bad score')
  1. 继承和多态
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容