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

    面向对象基础

    面向对象编程(抽象)

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

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

    优点:扩展性非常强

    缺点:逻辑非常复杂

    类与对象

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

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

    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)
    
    

    对象的高度整合

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

  • 相关阅读:
    洛谷 P1226 【模板】快速幂||取余运算 题解
    洛谷 P2678 跳石头 题解
    洛谷 P2615 神奇的幻方 题解
    洛谷 P1083 借教室 题解
    洛谷 P1076 寻宝 题解
    洛谷 UVA10298 Power Strings 题解
    洛谷 P3375 【模板】KMP字符串匹配 题解
    Kafka Shell基本命令
    Mybatis与Hibernate的详细对比
    MyBatis简介
  • 原文地址:https://www.cnblogs.com/acate/p/11045874.html
Copyright © 2011-2022 走看看