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)
    
    

    对象的高度整合

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

  • 相关阅读:
    将一个正整数分解质因数
    C语言中字符数组和字符串、字符串常量(转载)
    输出那一天是星期几
    吸血鬼数字—THINKING IN JAVA中一道习题
    Oracle外连接,左外连接,右外连接,内连接简析
    函数基础篇 Zeus
    程序员从初级到中级10个秘诀
    帮你免于失业的十大软件技术
    入门级XML学习(二)
    入门级XML学习(一)
  • 原文地址:https://www.cnblogs.com/acate/p/11045874.html
Copyright © 2011-2022 走看看