python 面向对象_1

self 

#self 是相当于c++的 this指针
class Ball:
    def setName(self,name):
        self.name = name
    def kick(self):
        print('我叫%s'%self.name)

ball = Ball()
ball.setName('足球')
ball.kick()
ball1 = Ball()
ball1.setName('篮球')
ball1.kick()

class Ball1:
    def __init__(self,name,id='xxx'):#构造函数,初始化实例对象的时候 会自动调用
        self.name = name
        self.id = id
    def kick(self):
        print('我叫%s,我是世界第%s大球'%(self.name,self.id))
b = Ball1('排球','')
b.kick()

 抽象类,是一个规范 不能当作普通的类来实例化调用了例如下代码

import abc
#抽象类,是一个规范 只能来继承不能实例调用
class Basecar(metaclass=abc.ABCMeta):#这是一个抽象类,只是用来继承的
    def __init__(self,uid):
        self.uid = uid

    @abc.abstractmethod #如果抽象类里面的函数通过abstractmethod来修饰,那就在子类里必须实现
    def run(self):
        pass

class Bmw(Basecar):
    def run(self):#子类实现了父类的run方法,如果不实现的化 实例调用就会报错
        print('run')

B = Bmw('uid')
B.run()

 

posted @ 2019-11-11 17:48  小马哥007  阅读(123)  评论(0编辑  收藏  举报