zoukankan      html  css  js  c++  java
  • 面向对象编程

    面向对象基础

    面向对象编程(抽象)

    对象:特征和技能的结合体

    面向对象编程:一个个对象进行交互

    优点:扩展性非常强

    缺点:逻辑非常复杂

    类与对象

    类(类别):一系列具有相同特征和技能的对象

    现实世界中先有对象,后有类

    # 定义学生
    
        # 姓名: 猪瑞星
        # 学号: 222222
        # 学校: oldboy
            # 技能: 选课,三十六变
    
    
        # 姓名: 孔悟空
        # 学号: 111111
        # 学校: oldboy
            # 技能: 选课,七十二变
    
        # 姓名: 雷公
        # 学号: 666666
        # 学校: oldboy
            # 技能: 选课,电闪雷鸣,开车
            
    # 定义老师
    
        # 姓名:tank
        # 学校:oldboy
            # 技能:教课,piao
    
        # 姓名:nick
        # 学校:oldboy
            # 技能:教课,看书
    

    Python中先有类,再有对象

    class 类名(驼峰体):  # 定义类,会直接运行类体代码
        # 定义一系列特征
        # 定义一系列方法
        
    对象1 = 类名()  # 实例化出对象
    

    给对象定制独有的特征

    class OldBoyStudent:
        school = 'oldboy'
        
        def __init__(self, name ,age):
            self.name = name
            self.age = age
    
        def choose_course(self):
            print('is choosing course')
            
    stu1 = OldBoyStudent('a',1) 
    stu1.school
    
    stu2 = OldBoyStudent('b',2) 
    stu2.scool
    
    

    对象的属性查找顺序

    class OldBoyStudent:
        school = 'oldboy'
        name = 'c'
        
        def __init__(self, name ,age):
            self.name = name
            self.age = age
    
        def choose_course(self):
            print('is choosing course')
            
    stu1 = OldBoyStudent('a',1) 
    stu1.school
    
    stu2 = OldBoyStudent('b',2) 
    stu2.scool
    
    

    先从对象本身查找,然后从类中查找,类中也没有则报错

    类与对象的绑定方法

    class OldBoyStudent:
        school = 'oldboy'
        
        def __init__(self, name ,age):
            self.name = name
            self.age = age
    
        def choose_course(self):
            print(id(self))  # 10000
            print(self.school)
            print(f'{self.name} is choosing course')
            
    stu1 = OldBoyStudent('a',1) 
    stu1.choose_course()  # self是对象本身
    print(id(stu1))  # 10000
    
    OldBoyStudent.choose_course(stu1)
    
    
    

    类与数据类型

    lis = list([1,2,3])
    lis2 = list([1,2,3])
    lis.append(4)
    # list.append(lis,4)
    
    

    对象的高度整合

    对象会有一大堆属性/数据,还会有一大堆方法来操作这些属性,然后对于不同的对象,这些属性又不同.

  • 相关阅读:
    教你三招打入App Store推荐目录!
    APP下载量低 如何显著提高APP下载量?
    导致APP排名下跌的主要因素
    如何提高APP关键词覆盖率?先熟悉套路!
    如何让你的ASO优化效果提升10倍?
    有效的移动应用推广策略
    APP运营推广不得不看的6种数据指标
    如何为你的APP选出“最好”的关键词
    手机应用开发宝典:如何养成一款畅销APP
    Linux下设置定期执行脚本
  • 原文地址:https://www.cnblogs.com/bladecheng/p/11047773.html
Copyright © 2011-2022 走看看