python面向对象----类

本文介绍了面向对象编程的基本概念,如类的创建、初始化函数`__init__`和清理函数`__del__`,以及如何创建实例。还讨论了继承,通过`super()`调用父类方法,并展示了如何在子类中添加新功能。最后,解释了类和实例的区别,通过月饼类的例子展示了如何实例化并显示实例信息。
摘要由CSDN通过智能技术生成
面向的对象
一切接对象(将现实中所有的需求,数组等都可以抽象成程序中的对象)
面向对象:python,现有数据结构 再有算法
      ooA:面向对象分析
      ooT:面向对象测试
      ooP:面向对象编程
面向对象三大特性
    封装:类分装数据与操作方法
    继承:子类继承并且拥有父类的数据与操作
    多态:子类继承并且重写父类的方法
面向过程:c语言,先有算法 再有数据结构
        按顺序执行,一个项目N多行代码直接构成
类:抽象的类型
    人类
    生物
    电脑

举例说明:

1.python 中类的编写
class Person:
    """
    抽象的人类
    """

    def __init__(self):
        """
        初始化函数:用于设置数据
        """
        print("初始化函数执行了")

    def __del__(self):
        """
        清理函数
        """
        print("清理函数执行了")


p1 = Person()

抽象人类:

class Person:
    """
    抽象的人物
    """

    def __init__(self, name):
        """
        初始化函数:用于设置数据
        """
        print("初始化函数执行了", name)
        self.name = name

    def __del__(self):
        """
        清理函数
        """
        print("清理函数执行了")
#定义一个具体的实列P1 P1变量(实列)用于接收 初始化函数的返回值(类名+()会执行初始化函数)
P1 = Person("张三")
print(P1.name)
P2 = Person("李四")
print(P2.name)
P3 = Person("王二")
print(P3.name)

2.类的继承

封装: 为了提升复用(为了减少代码编写)
      类 将数据于操作进行封装
继承: 为了减少代码的编写 通过父子类的继承关系
      实现在子类中使用父类的功能
      子类继承父类 可以使用父类内容

举例说明:


class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def move(self):
        print(f"{self.name}可以行走")


p1 = Person("局长", 50)
p1.move()


class SuperPerson(Person):
    """
    SuperPerson 继承了 Person
    """
    def __init__(self, name, age):
        """
        super().__init__(name,age) 调用父类的初始化函数
        :param name:
        :param age:
        """
        super().__init__(name, age)

    def fly(self):
        """
        子类可以编写自己的方法
        :return:
        """
        print(f"{self.name},可以飞")


sp1 = SuperPerson("钢铁侠", 30)
sp1.fly()

 3.类与实例

类:抽象的模板
实例:由模板克隆出来的具体的内容
class MoonCake:
    """
    月饼类
    """
    def __init__(self,tp, size, money):
        """
        初始化函数为了初始化self的数据
        初始化函数默认返回self
        :param tp:
        :param size:
        :param money:
        """
        self.met = tp
        self.sz = size
        self.my = money

    def show(self):
        """
        返回当前实例信息 谁调用self  self就是谁
        """
        return f"材料:{self.met}, 尺寸:{self.sz}, 价格:{self.my}"


五仁月饼 = MoonCake("五仁", "大", 10)
print(五仁月饼.show())
蛋黄月饼 = MoonCake("蛋黄","小", 50)
print(蛋黄月饼.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值