zoukankan      html  css  js  c++  java
  • python基础 day23 面向对象2

    python中一切皆对象,对象的类型就是类

    一、类的成员和命名空间

    • 类中的变量是静态变量
    • 对象中的变量只属于对象本身,每个对象有属于自己的空间来存储对象的变量
    • 当使用对象名去调用某一个属性的时候会优先在自己的空间中寻找,找不到再去对应的类中寻找
    • 如果自己没有就引用类的,如果类也没有就报错
    • 对于类来说,类中的变量所有的对象都是可以读取的,并且读取的是同一份变量
    # 实现一个类,能够自动统计这个类实例化了多少个对象
    class Jason:
        count = 0
        def __init__(self, hight, weight):
            Jason.count += 1
            self.hight = hight
            self.weight = weight
        def aloha(self):
            pass
    
    info = Jason(171, 180)
    print(info.count)
    # 类中静态变量的用处
    # 如果一个变量是所有的对象共享的值,那么这个变量应该被定义成静态变量
    # 所有和静态变量相关的增删改查都应该使用类名来处理,而不应该使用对象名来修改
    

    二、组合

    ​ 一个类的对象是另外一个类对象的属性

    class Student:
        def __init__(self, name, age, sex, number, clas, phone):
            self.name = name
            self.age = age
            self.sex = sex
            self.number = number
            self.clas = clas
            self.phone = phone
    
    
    class Clas:
        def __init__(self, cname, begin, teacher):
            self.cname = cname
            self.begin = begin
            self.teacher = teacher
    
    
    py66 = Clas('python66期', '2020-04-01', '苍老师')
    py99 = Clas('python99期', '2020-05-09', '波多老师')
    jason = Student('jason', 24, 'man', '94131', py66, 15252767039)
    carly = Student('carly', 21, 'woman', '990930', py99, 17717058385)
    print(jason.clas.begin)
    
  • 相关阅读:
    C++函数参数传参的本质解析
    C#值类型和引用类型详解
    C#学习笔记(转换)
    C#学习笔记(泛型)
    # Java反射2——获取实体所有属性和方法,并对属性赋值
    Java反射1——扫描某个包下的所有类
    JSR教程2——Spring MVC数据校验与国际化
    JSR教程1——JSR 303
    Github如何撤销提交并清除痕迹
    论文第5章:Android绘图平台的实现
  • 原文地址:https://www.cnblogs.com/west-yang/p/12854294.html
Copyright © 2011-2022 走看看