• Python 面向对象【2】


    组合
    适合没干系的横向类,比如池塘,乌龟,鱼】
     把类的实例化放到新类里面
     
     

    属性名和方法名相同,属性会覆盖掉方法
     

    绑定

    方法需要实例才能被调用!! 这种限制即绑定

    用self接受绑定
     
    class Ball():
      def xx(self,a):
        print(...)
    b = Ball();
    b.xx('123');

    删除del Ball类时,b.xx('123')仍然可以调用

    通过绑定使用实例属性,类属性通常用来跟踪相关的值
    类中定义的属性和方法是静态变量,类被删除,这些仍然存在
     
     
     
     
    类和对象相关的内置函数BIF
     

    issubclass(a,b) ---如果a是b的子类,返回true

    1.一个类,自己是自己的子类
    2.b可以是类对象组成的元组,只要a是其中任何一个的子类,返回true
     

    isinstance(a,b) --a是实例对象,b是类  a是否是b的实例对象

    1.b页可以是类或类元组
    2.如果不是类/类元组 返回TypeError异常
    3.a不是实例对象,永远false
     

    hasattr(对象,'属性名') ---测试对象是否有属性
    getattr(对象,'name'[,"default"]) ---返回对象指定的属性值,如果该属性不存在,【如果设置了default,则打印之】,否则抛出TypeError异常
    setattr(对象,'name',value) ---设定对象属性的值,如果该属性不存在,新建
    delattr(对象,'name') ---存在,则删除,不存在,抛出AttributeError异常

    property(fget=None//获得属性的方法,fset=None//设置,fdel=None//删除,doc=None) ---设置一个新的属性,去定义已有的属性
     
  • 相关阅读:
    zufeoj NO.1(结构体简单题)
    用链表写插入排序
    用链表写插入排序
    POJ 3468 A Simple Problem with Integers(线段树)
    POJ 3468 A Simple Problem with Integers(线段树)
    HDU 3065 病毒侵袭持续中(AC自动机)
    HDU 3065 病毒侵袭持续中(AC自动机)
    ZOJ 3436 July Number(DFS)
    poj 3414 Pots(广搜BFS+路径输出)
    AOP技术应用和研究--AOP简单应用
  • 原文地址:https://www.cnblogs.com/expedition/p/10695411.html
Copyright © 2020-2023  润新知