python--9--面向对象

目录

        • 1、定义类
        • 2、创建对象
        • 3、添加和获取对象的属性
        • 4、魔法方法
        • 5、继承

面向对象举例

解决吃啤酒鸭的问题

第一种方式(面向过程):
1)养鸭子
2)鸭子长成
3)4)作料
5)烹饪
6)吃

第二种方式(面向对象):
1)找个卖啤酒鸭的人
2)给钱 交易
3)4)6

区分类和对象

01).
奔驰汽车 类
奔驰smart 类 
张三的那辆奔驰smart 对象
02).
狗 类
大黄狗 类 
李四家那只大黄狗 对象 
03).
水果 类
苹果 类 
红苹果 类 红富士苹果 类 
我嘴里吃了一半的苹果 对象

1、定义类

格式:

class 类名:
    方法列表

# 经典类
class Hero:  # 经典类(旧式类)定义形式
#新式类
class Hero(object):  # 新式类定义形式
    def info(self):
        print("英雄各有见,何必问出处。")

案例:

class Hero(object):  # 新式类定义形式
    def info(self):
        print("英雄各有见,何必问出处。")

# object 是Python 里所有类的最顶级父类;
# info 是一个实例方法,第一个参数一般是self,表示实例对象本身,当然了可以将self换为其它的名字,其作用是一个变量 这个变量指向了实例对象

2、创建对象

格式:

对象名1 = 类名()
对象名2 = 类名()
对象名3 = 类名()

案例:
python--9--面向对象_第1张图片
由上图可以得知,方法内的self与定义的对象内存地址是一样的

3、添加和获取对象的属性

案例:
python--9--面向对象_第2张图片

4、魔法方法

  • __init__通常用来做属性初始化 或 赋值 操作
  • __str__ 通常返回一个字符串,作为这个对象的描述信息
  • __doc__ 查看类的文档说明,也就是类的注释
  • __del__当使用del() 删除变量指向的对象时,则会减少对象的引用计数。如果对象的引用计数不为1,那么会让这个对象的引用计数减1,当对象的引用计数为0的时候,则对象才会被真正删除(内存被回收)。

5、继承

在程序中,继承描述的是多个类之间的所属关系

  • 单继承 :子类只继承一个父类
    案例:
    python--9--面向对象_第3张图片
  • 多继承:子类继承多个父类
    python--9--面向对象_第4张图片
  • 子类重写父类的同名属性和方法
  • 多层继承
  • 调用父类方法super()
    python--9--面向对象_第5张图片

你可能感兴趣的:(软件测试)