Python第四课---面向对象编程

类和实例

类是对象的定义,里面包含了对象的各种信息,定义了一系列的方法

#定义类,object是所有类的母类,定义的类继承object
class opp(object):
      def __init__(self,name,age):
            self.name=name
            self.age=age
      #定义方法
      def show():
            print("hello world")
#实例化
#创建类
a=opp("xiaoming",12)
b=opp("xiaohua",13)
#调用属性
print(a.name)
print(b.age)
#调用方法
a.show()

类属性

C.__name__  类的名字
C.__doc__ 类的文档字符串
C.__dict__ 类的属性
C.__module__ 类所在的模块

继承(子类)

子类可以继承父类所拥有的方法,通俗一点,就是富二代啥也不干就有了老爸留下了的遗产,子类拥有父类所有的功能。
创建子类

#继承父类opp
class Children(opp):
       #重写构造函数
       def __init__(self,name,age,id):
               self.name=name
               self.age=age
               self.id=id
       #重写父类方法
       def show():
               print ("hello,child")
       #定义子类方法
       def love(self,nm):
               print("I love you")
               self.lvname=nm
               print("I love %s",self.lvname)

封装

封装可以隐藏内部的逻辑,对象通过调用方法,不用管内部是如何实现的

class  Student(object):
      def __init__(self,name,age,score):
          self.name=name
          self.age=age
          self.score=score
      #封装一个打印学生成绩的方法
      def print_score(self):
          print("%s:%s",self.name,self.score)
#实例一个对象
s=Student("xiaohua",12,90)
s.print_score()

私有属性

上面的例子中,name,age等都是对象的属性,但是通常为了使得代码更加健壮,不想外部对内部的属性进行访问和修改,因此,就有了私有属性

class Student(object):
        def __init__(self,name,age,score):
              #定义私有属性
              self.__name=name
              self.__age=age
              self.__score=score

上述例子中,如果想要访问私有属性,就会报错受到访问限制。

你可能感兴趣的:(Python第四课---面向对象编程)