Python—面向对象编程

所以,面向对象的设计思想是抽象出Class,根据Class创建Instance。

1、类和实例

定义类是通过class关键字。class后紧接着是类名,类名通常是大写开头的单词,紧接着是(object),表示该类是从哪个类继承下来的。

类可以起到模板的作用,可以绑定属性进去,通过__init__方法,如:

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))

bart = Student('Bart Simpson',59)

>>> bart.print_score()

Bart Simpson:59

2、访问限制

如果让内部属性不被外部访问,可以把属性名称前加上两个下划线__。

如上述代码改成:self.__name = name即可。

若外部代码想要获取内部属性值,可以给类增加get方法;若想修改,可以增加set方法,可以对参数做检查。

def get_name(self):

    return bart.__name

def set_name(self, name)

    self.__name = name

3、继承和多态

继承可以把父类的所有功能都直接拿过来,这样就不必从零做起,子类只需要新增自己特有的方法,也可以把父类不适合的方法覆盖重写。

class Animal(object): 

    def run(self):

        print('Animal is running...')

对于子类Dog:

class Dog(Animal):

    def run(self):

        print('Dog is running...')

函数

def run_twice(animal):

    animal.run() 

    animal.run()

当Dog类调用此函数:

>>>run_twice(Dog())

Dog is running...

Dog is running...

不需要再修改函数。

4、获取对象信息

(1)isinstance()的使用。

dog = Dog()

>>> isinstance(dog, Dog)

True

(2)dir()的使用,dir()可以获得一个对象的所有属性和方法

5、实例属性和类属性

可在class中定义属性,这种属性是类属性,归类所有。

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

友情链接更多精彩内容