• 继承介绍以及单继承


      1.继承的概念

       现实生活中,继承一般指的是子女继承父辈的财产。

       在程序中,继承描述的是事物之间的所属关系,例如猫和狗都属于动物,程序中便可以描述为猫和狗继承自动物;同理,波斯猫和巴黎猫都继承自猫,而沙皮狗和斑点狗都继承狗。

        2.继承示例

        

    #定义一个父类,如下:
    class Cat(object):
        def _init_(self,name,color="白色"):
            self.name = name
            self.color = color
        def run(self):
            print("%s --在跑"%self.name)
    
    #定义一个子类:继承Cat类如下:
    class Bosi(Cat):
        def setNewName(self,newName):
            self.name = newName
        def eat(self):
            print("%s--在吃"%self.name)
    bs = Bosi(“印度猫”)
    print(“bs的名字为:%s”%bs.name)
    print("bs的颜色为:%s"%bs.color)
    bs.eat()
    bs.setNewName("波斯")
    bs.run()

      说明:

       *虽然子类,没有定义 _init_方法,但是父类有,所以在子类继承父类的时候这个方法就被继承了,所以只要创建Bosi的对象,就默认执行了那个继承过来的 _init_ 方法

       总结:

        *子类在继承的时候,在定义类时,小括号()中为父类的名字

        *父类的属性、方法,会被继承给子类

       注意点:

    class Animal(object):
        def _init_(self,name = '动物',color = '白色')
            self._name = name
            self.color = color
        def _test(self):
            print(self._name)
            print(self.color)
         def test(self):
            print(self._name)
            print(self.color)
    
    class Dog(Animal):
         def dogTest(self):
               #print(self._name) #不能访问到父类的私有属性
               print(self.color)
          def deoTest2(self):
               #self._test()  #不能访问父类中的私有方法
               self.test()
    A = Animal()
    #print(A._name)  #程序出现异常,不能访问私有属性
    print(A.color)
    #A._test()    #程序出现异常,不能访问私有方法
    A.test() 
    
    print("-----分割线-------")
    
    D = Dog(name = "小花狗",color = "黄色")
    D.dogTest1()
    D.dogTest2()

     * 私有的属性,不能通过对象直接访问,但是可以通过方法访问

     * 私有的方法,不能通过对象直接访问

      * 私有的属性、方法,不会被子类基础,也不能被访问

       * 一般情况下,私有的属性、方法都是不对外公布的,往往用来做内部的事情,起到安全的作用。

  • 相关阅读:
    对缓存的思考——提高命中率
    2009年职场上必要做的事
    开始睡觉吧睡觉让人更聪明
    人脸识别和模式识别网址
    英语面试精彩问答摘录
    Some Image Processing related Websites
    转载:研究生应该常去的网站
    人工智能和图像网站
    转载:60个必须知道的生活常识
    《c程序设计》的算法归纳
  • 原文地址:https://www.cnblogs.com/FlameLuo/p/9735963.html
Copyright © 2020-2023  润新知