美文网首页
Python 10-3——给子类定义属性和方法

Python 10-3——给子类定义属性和方法

作者: sinkpink | 来源:发表于2017-09-20 17:04 被阅读0次

        在昨天子类可以继承父类的基础上,其实还可以给子类单独定义属性和方法,区别于父类的独特属性和特有方法是子类的特点。代码如下:

1、以姓名和年龄定义父类及方法;

2、定义子类并添加子类特有属性及方法;

3、创建子类实例,调用实例及方法实现名字及特有属性和特有方法。

1、定义子类时使用了指定属性(dog_papa)默认值的方式;

2、其他几乎没有什么变化,只是在继承父类属性时使用了父类名.__init__(self,name,age)的方式实现了父类属性的继承;

3、定义了子类自己的方法cry,表示小狗在叫;

        通过运行结果可以看出子类也可以指定自己的属性,并且可以赋默认值;通过2中的方式也可实现父类属性的继承,效果应该跟使用super()方法一致;子类定义方法后,创建实例、调用方法和父类方式相同。为验证继承父类的不同方式有相同效果,对代码改动如下:

效  果  一  样

         二者比较可以发现方式2更简洁直观,只是句点后的__init__()方法要包含所有的父类属性(包括self,而super方式却不需要)。

         试一下让两种方式并存发现代码任然可以运行且不冲突:

不         冲           突

查阅相关资料后发现可以有几种方式实现父类的属性和方法继承,效果相同。

偶然看到子类继承父类属性时可以不用__init__()方法,但是为了更好地继承父类的行为且在子类中通常需要初始化新的属性,这一步骤还是必要的。

相关文章

  • Python 10-3——给子类定义属性和方法

    在昨天子类可以继承父类的基础上,其实还可以给子类单独定义属性和方法,区别于父类的独特属性和特有方法是子类的...

  • Python给子类定义属性和方法(89)

    让一个类继承另一个类后,可添加区分子类和父类所需的新属性和方法。 我们给子类添了一个新属性dog_papa,这个属...

  • python基础(七)

    1、继承1.1 子类的方法init() 结果: 1.2 给子类定义属性和方法 结果: 1.3 重写父类的方法可在子...

  • 9.3.3 给子类定义属性和方法

    让一个类继承另一个类后,可添加区分子类和父类所需的新属性和方法。 小狗类加了cry这个方法。 #!/usr/bin...

  • 13.面向对象的三大特征之二——继承

    继承使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法。 继承 格式 public class ...

  • 第37课:给子类定义属性和方法

    预习: 9.3.3 给子类定义属性和方法 练习: 大大: 我: 疑问: 是不是 Dog.__init__(sel...

  • 继承 多态 封装

    继承 1 子类获得父类的属性和方法 2 子类可以通过重新定义属性和重写方法来改变行为; 多态 编译类型由声明该变量...

  • Python Day109(类:继承—给子类定义属性和方法)

    让一个类继承另一个类后,可以添加区分子类和父类所需的新属性和方法。 添加一个电动汽车特有的属性(电瓶),以及一个描...

  • 继承

    继承是面向对象三大特征之一。可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法。 publi...

  • 9.3.1- 2 继承

    创建子类的实例时,Python首先需要完成的任务是给父类的所有属性赋值。为此,子类的方法__init__()需要父...

网友评论

      本文标题:Python 10-3——给子类定义属性和方法

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