潭州课堂25班:Ph201805201 第十课 类的定义,属性和方法 (课堂笔记)


类的定义

  class Abc: # class 定义类, 后面接类名 ( 规则 首字母大写 )
   cls_name = '这个类的名字是Abc' # 在类里定义的变量 是 属性

  print( Abc.cls_name )
  Abc.binbin = '正在25班教室' # 可以通过 类名.属性名 = 属性值 给类添加属性
  print( Abc.binbin )
  ------》》》》》
    这个类的名字是Abc
    正在25班教室

  类是一个独立存放 变量(属性),方法 的定单
    其中:
Abc.cls_name 在定义类时已经封装好的属性,
         Abc.binbin = '正在25班教室'   在定义类后,进行属性的添加,封装
  

  类的实例化,
  obj = Abc()       obj 是 Abc() 实例化 后得到的 实例
  print( obj.cls_name )
  print( obj.binbin )
  
  类 与 实例 的关系: 其是一类事物的抽象,不是真实存在的,描绘了该的共性,
  比如:‘人’,‘动物’,‘家具’,某类事物的具体个休,
  是该类事物的具体表现,是真实存在的。
  
  实例也是一个独立存放 变量(属性),方法 的定单
  不同实例间的问个空间不相通,当调用中的属性在实例中找不到时,会去类中寻找,找不到则报错,


  类的方法
    class Abc:
     def ee(self): # 在类里,函数 叫 方法
     print(self) # self 是实例本身

    obj = Abc() # 实例在调用 方法 时,自动传入 self 参数
    obj.ee()

    实例.方法(参数) ---》》 类.方法(实例,参数)
      参数
self 将会自动传入, 通常谁调用,就指的是谁,

  私有属性,方法

    class Abc:
     _x = 2          # 私有的定义,
     __y = '不能说的秘密'   # 私有的定义,


    obj = Abc()
    print(obj._x)
    print(obj._Abc__y)

    在类中,可以定义私有属性,方法:
    _名称()  -----》》 该受保护的属性,方法可以直接调用,原则上不能修改
    __名称()  -----》》 不能直接调用, 可以用 类名(或实例名)._类名__属性名(或方法名)

  初始化 和 删除实例
  class Abc:
   def __init__( self,name ): # 类的固定方法,会在不同情况下自动调用,
   self.name = name
   print('实例化 Abc 的类')
   def __del__(self):      # 定义了 删除 方法
   print('正在删除实例')

  obj = Abc('花痴') # 实例化时 自动调用 __init__
  print(obj.name)
  del obj          # 删除 实例




类被创建,实例后,就是对象的创建,
对其的操作,美其名曰: 面相对象

猜你喜欢

转载自www.cnblogs.com/gdwz922/p/9171245.html