面向对象编程基础

    技术2022-07-11  75

    类和对象:

    类是对象的蓝图和模板,对象是类的实例,对象是具体的东西,具有属性和行为,每个对象都是独一无二的,对象一定属于某个类。

    当把一大堆具有共同特征的对象的静态特征(属性)和动态特征(行为)都抽取出来后,就可以定义

    出一个叫做类的东西。

    定义类:

    在python中,用class来定义类,在类中用之前学过的函数来定义方法,可以将对象的动态特征描述出来。

    class Student(object): def __init__(self, name, age): #__init__可以为个人绑定名字和年龄 self.name = name self.age = age def study(self, grade_name): print('%d正在看%' %(self.name, grade_name))

    创建和使用对象:

    定义好一个类后,可以通过下面的方式来创建对象并给对象发消息。

    def main(): stu1 = Student('怼怼', 18) stu1.study('语文') if __name__ == '__main__': main()

    访问可见性:

    上面我们给对象绑定的name和age具有怎样的访问权限,在python中,属性和方法的访问权限只有两种,公开和私有,如果希望属性是私有的,在给属性命名时可以用两个下划线作为开头。

    class Person: def __init__(self,name): self.__name = name def __age(self): print(self.__name) print('__age') def main(): person = Person('怼怼') person.__age() print(person.__name) if __name__ == "__main__": main()

     

    python中并没有从语法上严格保证私有属性或方法的私密性,在实际开发中,以单下划线来表示保护属性。

    class Person: def __init__(self, name): self.__name = name def __age(self): print(self.__name) print('__age') def main(): person = Person('怼怼') person._Person__age() print(person._Person__name) if __name__ == '__main__': main()

    面向对象的支柱

    封装,继承,多态。

    封装:隐藏一切可以隐藏的实现细节,只向外界暴露简单的编程接口,在类中的定义方法其实就是把数据和对数据的操作封装起来了。

     

    Processed: 0.012, SQL: 9