zoukankan      html  css  js  c++  java
  • python第九期学习笔记(十一)(面向对象)

    本文摘自:

    https://www.cnblogs.com/jin-xin/articles/10305113.html

    class Human:
    mind='有思想'
    language='会语言'
    #初如化类属性
    def __init__(self,name,age,sex,hobby):
    self.name=name
    self.age=age
    self.sex=sex
    self.hobby=hobby

    def work(self):
    print('人类会工作')

    def tools(self):
    print('人类会使用工具')
    #只要实例化对象,它会自动执行__init__方法
    obj=Human('tom',22,'男','唱歌')

    类的方法的调用方式:类的实例名.类方法名

    obj.work()

    属性的增,删,查,改操作:

    1:增加:

    obj.job='student'

    2:修改: 

    obj.sex='女'

    3:删除:

    del obj.hobby

    4:查找:

     print(obj.name)

     


     

    # 1:先定一个学校类(名字,地址)
    # 2:定一个老师类(名字,学样)
    class School:
    def __init__(self,name,address):
    self.name=name
    self.address=address
    self.teacher_list=[]
    def append_teacher(self,teacher):
    self.teacher_list.append(teacher)

    class Teacher:
    def __init__(self,name,school):
    self.name=name
    self.school=school

    s1 = School('北京校区','美丽的沙河')
    s2 = School('上海校区','上海迪士尼旁边')
    s3 = School('深圳校区','南山区')

    t1 = Teacher('武大',s1)
    t2 = Teacher('海峰',s2)
    t3 = Teacher('日天',s3)
    t4=Teacher('小明',s1)

    # print(t1.school.name)
    # print(t2.school.name)
    # print(t3.school.name)

    s1.append_teacher(t1)
    s1.append_teacher(t4)
    s2.append_teacher(t2)
    s3.append_teacher(t3)

    for i in s1.teacher_list:
    print(i.name,s1.name)

    弄了一个好玩的,哈哈

     

     

    class Base:
    def __init__(self, num):
    self.num = num
    def func1(self):
    print(self.num)
    self.func2()
    def func2(self):
    print(111, self.num)
    class Foo(Base):
    def func2(self):
    print(222, self.num)
    lst = [Base(1), Base(2), Foo(3)]
    for obj in lst:
    obj.func1()

    在上例中,当obj=Foo(3)时,子类没有func1()方法,会去执行父类的fun1()方法,当子类有自己的方法时,调用自己的方法,这里的func2()相当于子类重写了父类的方法

    多继承的最简单实现方式:
    案例一:一个类继承多个类
    class Shenxian:
    def fly(self):
    print("神仙都会飞")
    class Monkey:
    def eat(self):
    print("猴子爱吃桃")
    class Sunwukong(Shenxian,Monkey):
    pass
    swk=Sunwukong()
    swk.eat()
    swk.fly()
    案例二:一个类被多个类继承
    pass
     

    始终保持学习力,嘿嘿

     

     

     

     

     

  • 相关阅读:
    第07组 Alpha冲刺 (2/6)
    第07组Alpha冲刺(1/6)
    第四次作业
    面试题练习
    SpringMVC访问静态资源
    MyBatis基础
    Spring注解和jdk注解
    自动代理生成器
    aspect xml
    Spring-案例
  • 原文地址:https://www.cnblogs.com/gaoyuxia/p/11730611.html
Copyright © 2011-2022 走看看