python基础10
6.面向对象
面向对象的三大特性:继承、封装、多态
6.1类的定义
语法:class 类名(object):
#属性
#方法
def 方法名(self):
xxxxxx
注意:
(1)类名的小括号里写的是将来要集成的父类,默认继承object
(2)类名的命名规则一般采用大驼峰
(3)类的成员既可以是变量也可以是函数
(4)父类又被称为基类,子类又被称为派生类
6.2对象的创建
(1)用已有的类去实例化就可以得到一个对象
语法:对象名 = 类名()
(2)实例属性
对象名.新的属性名 = 值
(3)调用对象的方法(方法已在类中定义)
语法:对象名.方法名()
总结:
获取对象的属性的两种方法:
(1)对象名.属性
(2)定义一个方法,在这个方法中,使用self.属性
6.3默认实例属性
xxxx():魔法方法 – 内置的,默认就带有相应的功能的函数
(1)init:类里面默认自带的一个方法,对对象进行初始化时用----对象默认方法。在创建对象的同时自动调用,不用手动调用
语法:def init(self):
xxxxxx
注意:init(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递进去
(2)带参数的__init__
语法:def init(self,xxx):
xxxxxx
注意:如果__init__带了其它参数,那么需在实例化对象的时候给它传值
如:
class Dog(obiect):
def init(self,name):
slef.name = name
erha = Dog(“二哈”)
6.4__str__()
语法:def str(self):
return ‘xxxx’
注意:
(1)当使用print输出对象的时候,显示的是内存地址,但只要自己定义了__str__(self)方法,那么就会打印从在这个方法中return的数据
(2)__str__方法需要返回一个字符串,当做这个对象的描写
6.5__del__()(基本不用)
语法:def del(self):
当程序结束、或删除对象的时候会调用的方法