首页 > 代码库 > 面向对象基础
面向对象基础
1、面向对象不是所有情况都适用
2、面向对象编程
a.定义类
class 类名:
def 方法1(self,bb):
pass
b.根据类创建对象
使用对象去执行类中方法
3、self,形式参数。python内部传递
class Oldboy(object): def fetch(self,backend): pass def add_record(self,backend,record): pass obj1 = Oldboy() obj2 = Oldboy()
4、类+括号 --> 自动执行类中的__init__方法:创建了一个对象
在__init__方法中执行具体封装的操作
__init__有个特殊的名字:构造方法
这个过程叫初始化
__del__ 解释器销毁对象的时候自动调用,特殊名称:析构方法
封装:
使用场景:当同一类型的方法具有相同参数时,直接封装到对象即可。
使用场景:把类当做模版,创建多个对象(对象内封装的数据可以不一样)
class Oldboy(object): def __init__(self,bk): ‘‘‘ 构造方法 :param bk: ‘‘‘ self.backend = bk def fetch(self): print(self.backend) def add_record(self,record): print(self.backend) obj1 = Oldboy(‘www1‘) obj2 = Oldboy(‘www2‘) obj1.fetch()
以上代码执行结果:
www1
继承:
5、派生类可以继承基类中所有的功能
6、派生类和基类同时存在,优先继承派生类。
7、python类可以同时继承多个类(C#/Java不可以)
优先:自己>左边>右边
class Animals:
def drink(self):
print(‘animals drink‘)
def cook(self):
print(‘animals cook‘)
class fish:
def cook(self):
print(‘fish cook‘)
def eat(self):
print(‘fish eat‘)
class Dog(Animals,fish):
def __init__(self,name):
self.name = name
def fuck(self):
print(‘dog fuck‘)
def drink(self):
print(‘dog drink‘)
obj = Dog(‘zhou‘)
obj.fuck()
obj.drink()
obj.cook()
obj.eat()
以上代码运行结果:
dog fuck
dog drink
animals cook
fish eat
面向对象基础
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。