继承/重载/垃圾回收self

1.显示传递self
类名.函数名(实例对象)
class person(object):
def init_person(self,name,age):
print (name,age)

p = person()
#普通的调用方式
p.init_person("xiaoming",10)
#显示的传递self
person.init_person(p,"xiaoming",10) 

2.继承
(1)class类名(基类1,基类2...)
(2)被继承的类我们叫做父派或基类
(3)继承的类叫子类或派生类
(4)子类具备父类的方法
(5)一个子类有多个基类,那么叫做“多重继承”,尽量避免多继承

3.(1)子类调用父类的方法: 父类的名字.父类的名字(显示的传递self,参数1...)
(2)python会先在子类里面找方法,找不到就会到父类里面去找;
(3)若子类需要调用基类的方法(子类有方法时),
则需要显示调用:类名.函数名(实例象)

4.重载:子类重新实现了基类原有的方法

5.类的基础方法(隐式调用,被动调用)
(1)构造函数 init(self [,args...])
obj = className(args)
class student(person):
#构造函数,在构造对象实例的时候,会被隐式的调用
#构造函数的参数传递
#重载父类的init函数
def init(self,name,age):
print("student init",name,age)
s = student("xiaoming",21)
运行输出:
('student init', 'xiaoming', 21)

(2)析构函数del
#析构,当对象内存被回收的时候(对象不用了,销毁并释放内存的时候调用)

(3)str(self) 用于将值转化为适于人阅读的形式
class student(person):
def str(self):
print("str student")
return "my_student class"
print(str(s))
运行输出:
my_student class

(4)cmp(self,x) 对象比较

6.垃圾回收:
(1)在特定时期,如果没有任何一个变量指向对象,那么该对象的内存就会被回收
(2)del object 删除一个对象

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,825评论 0 9
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,786评论 18 399
  • 要点: 函数式编程:注意不是“函数编程”,多了一个“式” 模块:如何使用模块 面向对象编程:面向对象的概念、属性、...
    victorsungo阅读 1,606评论 0 6
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 3,923评论 1 10
  • 20- 枚举,枚举原始值,枚举相关值,switch提取枚举关联值 Swift枚举: Swift中的枚举比OC中的枚...
    iOS_恒仔阅读 2,324评论 1 6