继承介绍以及单继承

Posted flameluo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了继承介绍以及单继承相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

以上是关于继承介绍以及单继承的主要内容,如果未能解决你的问题,请参考以下文章

对比单继承与多继承的优势,以及Java解决方案

多继承和代码块

面向对象(继承重写多态)以及异常处理

php如何实现多继承?

继承,多继承,单继承

区块链开发之Solidity编程基础合约继承抽象合约接口