代码语言:javascript复制
#过程编程----函数编程(代码复用高)--面向对象
#python 支持 函数式 面向对象 编程
# def mail(email,message):
# print("sendsend")
# return True
#
# mail("ssss@163.com","boy")
#先创建类,再创建对象
# class Foo:
#对象中的函数叫方法
# def mail(self,email,message): #self 必须有
# print("xxxxxxx")
# return True
#调用
#1、创建对象 , 类名()
# obj = Foo()
#2、通过对象执行方法
# obj.mail("ssss@153.com","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,缺勤扣钱
# 创建课程:课程名,课时费,老师,上课(返回上课内容),下课,请假,给老师加钱
# 学生
# 选课、上课、请假、下课