Python 面向对象编程 一 数据和方法封装

python 面向对象的原则

OOP是一种将属性和行为捆绑到一个实体中的方法,我们称之为对象。为了使这种捆绑更加高效和模块化,Python中有几个原则,概述如下:

  • 数据封装
  • 继承
  • 多态性
  • 抽象

接下来,我们将详细讲解这此原则。

数据和行为封装

封装是面向对象编程中的一个基本概念,有时也被称为抽象。但实际上,封装不仅仅是抽象。在面向对象编程中,将数据和与数据相关的操作捆绑到一个单元中称为封装。封装实际上不仅仅是捆绑数据和相关操作。我们可以在这里列举封装的三个主要目标,如下所示:

  • 将数据和相关操作包含在一个单元中。
  • 隐藏对象的内部结构和实现细节。
  • 限制对对象某些组件(属性或方法)的访问。

封装简化了对象的使用,而不知道如何实现的内部细节,它还有助于控制对象状态的更新。

在接下来的内容中,我们将详细讨论这些目标。

把数据和行为包装起来

我们在类中定义属性和方法。Python中的类可以有以下类型的元素:

  • 构造函数和析构函数
  • 类方法和属性
  • 实例方法和属性
  • 嵌套类

除了嵌套类外,我在之前的文章中已写过其它些内容。下面我写一下嵌套类,现在来为 小汽车类 定义一个发动机类,定义在小汽车类 内部:

class 小汽车类:
    """ 外部类 """
    质量标准 = "国家质量标准"

    def __init__(, 颜色, 品牌, 发动机排量):.颜色 = 颜色
        我.品牌 = 品牌
        我.发动机 =.发动机类(发动机排量)

    def 打印_颜色():
        print(f"小汽车的颜色是:{
     .颜色}")

    def 打印_品牌():
        print(f"小汽车的品牌是:{
     .品牌}")

    def __str__():
        return f"我是一个小汽车,依呀依呀哟。我的颜色是{
     .颜色},我的品牌是{
     .品牌},我的发动机排量是{
     .发动机.排量}, 我执行的质量标准是{
     .质量标准}。"

    @classmethod
    def 打印_质量标准(我之类):
        print(f"我之质量标准:{
     我之类.质量标准}")
        print(f"我之类名字是:{
     我之类.__name__}")

    @staticmethod
    def 打印_你好():
        print("哇哦,这是一个来自于静态方法的问候")

    class 发动机类:
        """ 内部类 """

        def __init__(, 排量):.排量 = 排量

        def __str__():
            return f"我的排量是{
     .排量}"


if __name__ == "__main__":
    小汽车 = 小汽车类("白色", "国威", "1000L")
    print(小汽车)

在这个例子中,我们在常规小汽车类类中定义了一个发动机类内部类。发动机类类只有一个属性——

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dowhileprogramming

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值