首页 > 代码库 > python3学习之对象

python3学习之对象

#过程编程----函数编程(代码复用高)--面向对象
#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,缺勤扣钱
# 创建课程:课程名,课时费,老师,上课(返回上课内容),下课,请假,给老师加钱

# 学生
# 选课、上课、请假、下课

python3学习之对象