• python学习之面向对象(上)


    定义了一个Animal类,该类包括了构造函数,私有方法,公有方法,静态方法,属性的方问等

    双下划线"__"组成了私有成员的定义约束,其它情况则为公有成员

    #_metaclass_=type # 确定使用新式类
    class Animal:
           address="acccd";
           def __init__(self): #构造方法 一个对象创建后会立即调用此方法
                   self.Name="Doraemon"
                   print(self.Name);
          
           def accessibleMethod(self): #绑定方法 对外公开
                  print (self.Name);
                  self.__inaccessible()
            
           def __inaccessible(self): #私有方法 对外不公开 以双下划线开头
                   print( "U cannot see me...");

           @staticmethod
           def staticMethod():
                 #self.accessibleMethod() #在静态方法中无法直接调用实例方法 直接抛出异常
                 print("this is a static method");

           def setName(self,name): #访问器函数
                 self.Name=name

           def getName(self): #访问器函数
                 return self.Name

           #name=property(getName,setName) #属性 可读可写



    Animal.staticMethod();
    t=Animal();
    t.setName("ddd");
    print(t.getName());
    print(getattr(t,"address"));
    setattr(t,"address","fjfkejkj");
    print(getattr(t,"address"));

    类自身的一些属性成员,包括类的名称字符串,继承等

    print("Animal.__name__:", Animal.__name__);
    print("Animal.__module__:", Animal.__module__);
    print( "Animal.__bases__:", Animal.__bases__);
    print("Animal.__dict__:", Animal.__dict__);

  • 相关阅读:
    HTTP POST GET 本质区别详解< Reprinted>
    Java的反射机制
    简单的KKL诊断线~~~自己在家都可以制作obd诊断接口了 ~~
    URL-编码窗体数据无效
    没有对“C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files”的写访问权限
    ARM中的---汇编指令
    allegro中原理图和pcb中元件的交互
    运算放大器
    电流表接法
    一款单端反激开关电源的设计
  • 原文地址:https://www.cnblogs.com/airven/p/4970568.html
Copyright © 2020-2023  润新知