首页 > 代码库 > day7----面向对象编程进阶

day7----面向对象编程进阶

本节内容:

  • 面向对象高级语法部分
    • 静态方法、类方法、属性方法
    • 类的特殊方法
    • 反射
  • 异常处理
  • Socket开发基础

 

静态方法

它与类唯一的关联就是需要通过类名来调用这个方法

#静态方法实际跟类没关系,不存在self变量了。
#只是名义上贵归类管理,实际上在静态方法里,访问不了类或实例中的任何属性

1. 调用时主动传递实例本身给eat方法,即d.eat(d) 

2. 在eat方法中去掉self参数,但这也意味着,在eat中不能通过self.调用实例中的其它变量了

#!/usr/bin/env python#-*- coding:utf-8 -*-# Author:DCCclass Dog(object):    def __init__(self,name):        self.name = name    def eat(self,food):        print("%s is eatting %s" % (self.name,food))d = Dog("dog1")d.eat("包子")#静态方法class Cat(object):    def __init__(self,name):        self.name = name    @staticmethod #静态方法实际跟类没关系,不存在self变量了。    #只是名义上贵归类管理,实际上在静态方法里,访问不了类或实例中的任何属性    def eat(self,food):        print("%s is eatting %s" % (self,food))d = Cat("dog1")d.eat("cat1","baozi")

 

day7----面向对象编程进阶