python类2继承-抽象-多态

原创 2016年08月30日 17:51:16
继承:
如果父类显示的定义了__ini__方法,子类必须显示调用父类的__init__方法。

class a(object):
    def __init__(self):
        print 'father'
class son1(a):
    def __init__(self):
        a.__init__(self)  #带参数
        super(a,self).__init__() #带参数
        print 'son'
        
son = son1()
输出:
father
son</span>




模拟抽象类:
通过Python的NotImplementedError类模拟抽象类。
def abstract():
    raise NotImplementedError
class a(object):
    def __init__(self):
        if self.__class__ is a:
            abstract()
        print 'abstract'
class b(a):
    def __init__(self):
        a.__init__(self)
        print 'Instantiation'
x = b()
#x1 = a()
输出:
abstract
Instantiation</span>


多态:
def abstract():
    raise NotImplementedError
class a(object):
    def __init__(self):
        if self.__class__ is a:
            abstract()
        print 'abstract'
class b(a):
    def __init__(self):
        a.__init__(self)
        print 'Instantiation b'
class c(a):
    def __init__(self):
        a.__init__(self)
        print 'Instantiation c'
        
class ax:
    def sella(self,a1):
        if isinstance(a1, b):
            print 'call b'
        if isinstance(a1, c)   :
            print 'call b'
        if isinstance(a1, a)   :
            print 'call a'




print  '----------------'
test = ax()
test.sella(b())
print  '----------------'
test.sella(c())
输出:


----------------
abstract
Instantiation b
call b
call a
----------------
abstract
Instantiation c
call b
call a</span>


版权声明:本文为博主原创文章,未经博主允许不得转载。

python基础教程---更加抽象,类,继承多态封装

1.对象 对象基本可以看做数据(特性)以及由一系列可以存取,操作这些数据的方法所组成的集合 多态,不同类的对象使用同样的操作 封装,对外部世界隐藏对象的工作细节 继承,以普通的类为基础建立专门的类对象...

java基础(2)-基础类型和语法(static、内部类、final、抽象类、接口、封装)(并将这些基础知识与java的三大特征关联(继承、多态、封装))

1、变量及其作用范围?    答:3种 2 、java变量分哪几种大的类型? 答:2种 3、java包含哪些基本数据类型和包装类? 答:8种 4、理解java中的装箱和拆箱 5、...

java基础2:抽象类、接口与多态

关于Java基础的文章,我觉得写得还可以,以前发在了我其它的博客了,肯定是原创,现在再分享给大家出来。 ------------------------------------------------...

Java初学(五)——J2SE之面向对象编程4(多态、抽象类)

Java初学(四)——J2SE之面向对象编程3

2-1 抽象类、接口、多态、集合

1.抽象类 1.1 抽象类的定义 使用abstract修饰的类就是抽象类,示例如下: public abstract class Test{//抽象类定义 public abstract vo...

抽象类多态接口

  • 2008年07月19日 17:03
  • 1.7MB
  • 下载

vs2005_winfrom_C#多态和抽象类

  • 2008年12月13日 10:58
  • 1KB
  • 下载

JAVA基础知识点(六)--接口,多态,继承,抽象类,重载的问题

一、抽象类: 什么是时候使用抽象类:          描述一类事物的时候,发现该事物确实存在着某种行为,但是目前这种          是不具体的,这时候应该抽取这种行为的声明,而不去实现...

asp.net 抽象类、多态及接口

  • 2009年11月18日 10:10
  • 341KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python类2继承-抽象-多态
举报原因:
原因补充:

(最多只允许输入30个字)