面向对象基本概念和类定义、继承、多继承

本文介绍了面向对象编程的基本概念,包括类的定义、实例化、属性和方法。讲解了`__init__`和`__del__`方法的作用,并展示了继承和重用的概念。通过示例展示了如何创建子类并重写父类方法。最后提到了多继承以及类的继承顺序查询方法。
摘要由CSDN通过智能技术生成

面向对象

面向对象介绍

##name = ‘anyan’
##age = 18
##sex = ‘female’
##def do():

print(f’{name}会敲代码’)

class关键字用来定义类

类的命名:以驼峰命名法进行命名

类里面的变量叫做类的属性,通过名词去表示属性

类里面的函数叫做类的方法,通过动词去表示方法

##class Person:

# 相当于一个模板

name = ‘xiaobai’

age = 18

sex = ‘male’

def eat():

print(‘干饭’)

##anyan = Person() # 实例化一个对象

类定义和使用

##class Person:

# 相当于一个模板

name = ‘xiaobai’
age = 18
sex = ‘male’

# __init__是初始化方法,在实例化时会自动调用

# self代表实例本身**

def init(self,name,age,sex):

self.name = name

self.age = age

self.sex = sex

# 通过del关键字用来删除实例对象

# __del__表示析构函数,当删除实例的时候,就会自动调用此方法

def del(self):

print(f’{self.name}被析构了’)

def eat(self):

print(f’{self.name}干饭’)

##anyan = Person(‘安言’,18,‘female’)

继承和重用

##class Person:

def init(self,name,age,sex):

self.name = name

self.age = age

self.sex = sex

def del(self):

print(f’{self.name}被析构了’)

def eat(self):

print(f’{self.name}干饭’)

括号里面的类,表示继承的是哪个类

继承Person类之后,就拥有Person类里面所有的属性和方法

重用:子类重新定义父类的方法,让同一种方法具有不同行为

##class SiChuan(Person):

def play(self):

print(‘四川人爱打麻将’)

def eat(self):

# 方法一,不推荐

Person.eat(self)

print(‘四川人爱吃火锅’)

##class GuangDong(Person):

def play(self):

print(‘广东人爱喝茶’)

def eat(self):

# 方法二,推荐

# super()表示使用父类的方法

super().eat()

print(‘广东人爱吃肠粉’)

多继承:就近继承

##class Person:

def init(self,name,age,sex):

self.name = name

self.age = age

self.sex = sex

def del(self):

print(f’{self.name}被析构了’)

def eat(self):

print(f’{self.name}干饭’)

##class SiChuan(Person):

def play(self):

print(‘四川人爱打麻将’)

def eat(self):

Person.eat(self)

print(‘四川人爱吃火锅’)

##class GuangDong(Person):

def play(self):

print(‘广东人爱喝茶’)

def eat(self):

super().eat()

print(‘广东人爱吃肠粉’)

##class HunXue(SiChuan,GuangDong):

# pass代表类里面没有任何属性和方法

# 只是把结构写完整

pass

##hunxue = HunXue(‘混血’,1,‘female’)

HunXue.base 查看类继承的第一个类

HunXue.bases 查看类继承的所有类

HunXue.mro() 查看类继承的继承顺序

class Base:
def eat(self):
print(‘base’)

class A(Base):
def eat(self):
super().eat()
print(‘A’)

class B(Base):
def eat(self):
print(‘B’)

class C(A,B):
def eat(self):
super().eat()
print(‘C’)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一逍倾城

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值