首页 > 代码库 > Python面向对象
Python面向对象
面向对象三大特性
一、封装
#1.将内容封装到某处
#创建类 class Foo: def __init__(self,name,age): #称为构造方法,根据类创建对象时自动执行 self.name=name self.age=age #根据类Foo创建对象 #自动执行Foo类的__init__方法 obj1=Foo("wupeiqi",18) #将wupeiqi和18分别封装到obj1(即self)的name和age的属性中 obj2=Foo(‘alex‘,73)
#2.从某处调用封装的内容
#2.1通过对象直接调用被封装的内容
class Foo(): def __init__(self,name,age): #称为构造方法,根据类创建对象时自动执行 self.name=name self.age=age obj1= Foo(‘wupeiqi‘,18) print(obj1.name) print(obj1.age) obj2=Foo(‘alex‘,73) print(obj2.name) print(obj2.age)
#2.2通过self间接调用
class Foo(): def __init__(self,name,age): #称为构造方法,根据类创建对象时自动执行 self.name=name self.age=age def detail(self): print(self.name) print(self.age) obj1=Foo(‘wupeiqi‘,18) obj1.detail() #python默认将obj1传给self参数,即obj1.detail(obj1),所以此时方法内部的self=obj1,即:self.name是wupeiqi;self.age是18 obj2=Foo(‘alex‘,73) obj2.detail()
二、继承
#继承
# 动物:吃、喝、拉、撒
#
# 猫:喵喵叫(猫继承动物的功能)
#
# 狗:汪汪叫(狗继承动物的功能)
class Animal: def eat(self): print(‘%s吃‘%self.name) def drink(self): print(‘%s喝‘%self.name) def shit(self): print(‘%s拉‘%self.name) def pee(self): print(‘%s撒‘%self.name) class Cat(Animal): def __init__(self,name): self.name=name self.breed=‘猫‘ def cry(self): print(‘喵喵叫‘) class Dog(Animal): def __init__(self,name): self,name=name self.dreed=‘狗‘ def cry(self): print(‘汪汪叫‘) #############执行############## c1=Cat(‘小白家的小黑猫‘) c1.eat() c2=Cat(‘小黑家的小白猫‘) c2.drink() d1=Dog(‘胖子家的小痩狗‘) d1.eat()
三、多态
Python面向对象
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。