day24

init

#__init__用来初始化对象,为对象设置初始值__init__函数至少包含一个形参(seif),__init__函数不允许有返回值
#当实例化对象的时候,__init__函数会自动调用

class people:
   def __init__(self,name,age):
       self.name = name
       self,age = self.age
   def self_introduce():
       print('我是%s,我的年龄是%s' % (name,age))

p = people('盖伦',27)
P.self_introduce()

绑定方法

'''
默认情况下,在类中定义的方法 都是绑定方法
把对象和函数绑定到一起,方便数据的处理,通过对象就可以找到数据并且处理数据
类里存放着所有对象共有的属性和方法
绑定方法类调用的时候和普通函数没有任何区别,只有实例化对象后才绑定方法
'''
#类绑定方法:类和对象调用都是自动传类本身  
class people:
   
   @classmethod
   def info(cls):
       print('我运行了')

people.info()

#对象绑定方法
class people:
   def run(self):
       print('我运行了')
       
p = people()
p.run

#非绑定方法(静态的方法),不管通过类名还是对象调用这个方法都不会自动传参,静态方法一般也不会也参数
class people:
   
   @staticmethod
   def run(self):
       print('我运行了')

继承与派生

# object,所有类的基类,在python3中都直接或间接的继承object
# 在oop中,继承描述的是类和类之间的关系,什么是什么的关系
# 无论任何类都可以使用object这个父类的方法
# 继承的查找顺序:先找自己的,找不到再找类的,类的父类,最后一定会找到object
# 抽象指的是将一系列类中相同的特征和相同行为抽取形参的一个新的类
# 当子类拥有与父类不同的内容 就称之为派生类
class people:
   def show():
       print('执行了people')

class person(people):
   name = 1
   def show():
       print('执行力person')
       

覆盖与重用

#子类的方法覆盖了父类的方法,方法名是一样的,本质上是查找顺序
class people:
   def __init__(self,name,age,gender):
       self.name = name
       self.age = age
       self.gender = gender
       
   def show():
       print('执行了people')

class person(people):
   name = 1
   def show():
       print('执行lperson')
#重用,子类对父类方法的重新使用
class Student(people):
people.__init__(self,name,age,gender)
self.number = number
   #方法二 python2中不支持
   super().__init__(name,age,gender)
   #方法三
   super(Student,self).__init__(name,age,gender)
   

转载于:https://www.cnblogs.com/zhuqihui/p/10877617.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值