码迷,mamicode.com
首页 > 其他好文 > 详细

继承介绍以及单继承

时间:2018-10-01 23:12:08      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:之间   test   elf   不能   new   class   通过   概念   ini   

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

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

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

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

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

继承介绍以及单继承

标签:之间   test   elf   不能   new   class   通过   概念   ini   

原文地址:https://www.cnblogs.com/FlameLuo/p/9735963.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!