day9 重写父类的方法

Posted sheery

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day9 重写父类的方法相关的知识,希望对你有一定的参考价值。

一、class Conn1(object):

    def conn(self,host,passwd):

      print(host,passwd)

继承了conn1

class  Conn2(conn1):

    def conn(self):

       print(‘哈哈‘)

c=Conn2()

c.conn()

打印结果是:哈哈,重写父类的方法

 

二、节省代码,不必重新写代码

class Conn1(object):

基类

    def __init__(self,host,passwd,port):

        self.host=host

        self.passwd=passwd

        self.port=port

 

class  Conn2(Conn1):

    def __init__(self,host,passwd,port,username,db,chartset=‘utf8‘)):

       手动调用父类的函数,相当于调用,self.host,self.passwd,self.port

        Conn1.conn(self,host,passwd,port)

        另一种写法,效果同上 ,super会根据本类,自动找到父类

        super(Conn2,self).__init__(host,passwd,port)

        self.username=username

        self.db=db

        self.chartset=chartset

 

以上是关于day9 重写父类的方法的主要内容,如果未能解决你的问题,请参考以下文章

如果父类有一个虚方法,子类重写了这个方法。那么子类到底有没有继承父类的虚方法??

C++ 怎样禁止子类重写父类的某个虚函数?

Java中子类重写父类的方法为啥返回值类型要小于等于父类方法的返回值类型?

php子类能不能重写父类的private方法?

java子类重写父类带泛型的方法

python--继承--方法的重写---和父类的扩展