美文网首页
Python第四课---面向对象编程

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

作者: 计算机视觉__掉队选手 | 来源:发表于2019-01-16 11:03 被阅读0次

    类和实例

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

    #定义类,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第四课---面向对象编程

          本文链接:https://www.haomeiwen.com/subject/avbpdqtx.html