zoukankan      html  css  js  c++  java
  • 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) ---设置一个新的属性,去定义已有的属性
     
  • 相关阅读:
    C# 基本数据类型
    java二进制,原码、反码、补码、位运算
    .net邮件发送[c#]
    linux软件安装命令
    VB.net实现从ListView控件中异地获取文本内容源代码
    VB获得进程PID
    任意组合指令达到免杀
    免杀之等价替换法
    ASP技巧base64编码、解码函数
    看到一个思路新颖的下载者制作法
  • 原文地址:https://www.cnblogs.com/expedition/p/10695411.html
Copyright © 2011-2022 走看看