#过程编程----函数编程(代码复用高)--面向对象 #python 支持 函数式+面向对象 编程 # def mail(email,message): # print("sendsend") # return True # # mail("[email protected]","boy") #先创建类,再创建对象 # class Foo: #对象中的函数叫方法 # def mail(self,email,message): #self 必须有 # print("xxxxxxx") # return True #调用 #1、创建对象 , 类名() # obj = Foo() #2、通过对象执行方法 # obj.mail("[email protected]","xxxxx") #类和对象 # 1 创建类 # class 类名: # def 方法名(self,xxxxx) # pass # 2 创建对象 # 对象 = 类名() # 3 通过对象执行方法 # 对象.方法名(123) # 对象通过类指针指向调用的类 #何时用面向对象? #1 当某些函数具有相同参数时,将参数一次性封装到对象,以后去对象中取值即可, #存储在self中 #self到底是什么? #1、python会自动传值的参数 #2、哪个对象执行方法,self就是谁 #__init__(self) 当类调用时自动执行,该方法叫做构造方法 #类中调用函数不用讲究顺序 #三大特性:封装、继承、多态 # # class Person: # # def __init__(self,name,age,money): # self.name = name # self.age = age # self.money = money # # def shop(self, tt): # self.money = self.money - 2 # print(tt) # # # # long = Person(‘a‘,19,100) # hu = Person(‘b‘,20,99) # bao = Person(‘c‘,99,11) # # print(long.money) # long.shop("hihihihi") # # print(long.money) #父类==基类;子类==派生类,一般对应使用 #单继承 # # class F1: # def show(sefl): # print("F1") # # class F2(F1): # def __init__(self,name): # self.name = name # # # def p(self): # print(self.name) #多继承,当有共同父类时,最后在共同父类中寻找 # # class C1: # def f1(self): # pass # # class C2(C1): # def f2(self): # pass # class C3(C1): # def f3(self): # pass # class C4(C2): # def f4(self): # pass # class C5(C3,C4): #C3类优先C4 # def f5(self): # pass # # obj = C5 # obj.f1() ###多态, # def func(arg): #arg可以是多种数据类型,这种称为多态 # pass 练习题: #作业(用面向对象的方法实现) #选课系统: #管理员 # 创建老师:姓名,年龄,爱好,性别,资产=0,缺勤扣钱 # 创建课程:课程名,课时费,老师,上课(返回上课内容),下课,请假,给老师加钱 # 学生 # 选课、上课、请假、下课
时间: 2024-10-01 10:44:39