首页 > 编程语言 >【补】Python中关于OOP的常用术语

【补】Python中关于OOP的常用术语

时间:2023-11-30 14:36:17浏览次数:49  
标签:术语 封装 Python 代码 复用 可维护性 OOP 面向对象编程 可以

【一】抽象与实现

【1】抽象

  • 抽象是一种概念或思维工具,用于简化复杂的问题并将其分解为易于管理的部分。
  • 抽象可以帮助我们理解事物的本质和行为,同时也可以帮助我们在设计软件时更好地组织代码和数据结构。

【2】实现

  • 实现则是对抽象的一种具体表达。
  • 它是对抽象的概念或模型进行物理或逻辑上的构建,以便我们可以使用它来解决问题。
  • 实现通常涉及到编写代码和创建数据结构,以便我们可以执行所需的任务。

【二】封装与接口

【1】封装

  • 封装是面向对象编程的一个核心概念。
  • 它是一种将数据和方法封装在一起的技术,以保护数据不受外部访问和修改。
  • 封装可以帮助我们保持代码的安全性和可维护性,同时也可以提高代码的复用性。

【2】接口

  • 接口则是封装的一部分。
  • 它是一种规定了哪些方法和数据可以在类之间共享的机制。
  • 通过接口,我们可以确保只有授权的类才能访问特定的方法和数据,同时也可以防止意外的修改。

【三】合成

  • 合成是一种将多个单独的对象组合在一起形成一个新的对象的技术。
  • 这种技术可以使我们更容易地管理和控制复杂的系统,同时也可以提高代码的复用性和可维护性。

【四】派生与继承

  • 派生和继承是面向对象编程中的两个重要概念。

    • 派生是一种创建新类的过程,新类继承了原始类的所有属性和方法,并可以添加自己的属性和方法。
    • 继承是一种将现有类的功能应用于新类的过程,新类可以从原始类中继承所有的属性和方法。
  • 继承和派生都可以帮助我们更好地组织和管理代码,并使我们的代码更加灵活和可扩展。

    • 它们还可以提高代码的复用性和可维护性,同时也可以减少代码的重复性。

【五】泛化与特化

  • 泛化和特化是面向对象编程中的两个重要概念。
    • 泛化是指所有子类与其父类及祖先类有一样的特点。
    • 特化是指描述所有子类的自定义,也就是,什么属性让它与其祖先类不同。
  • 泛化和特化可以帮助我们更好地理解和分类对象,同时也可以提高代码的复用性和可维护性。
    • 它们还可以使我们的代码更加灵活和可扩展,同时也可以减少代码的重复性。

【六】多态与多态性

  • 多态是指同一个操作作用于不同的对象上会产生不同的结果。
    • 水这种事物有多种不同的状态:冰,水蒸气
  • 多态性则是指一个对象可以根据它的实际类型执行不同的操作。
    • 冰,水蒸气,都继承于水,它们都有一个同名的方法就是变成云
    • 但是冰.变云(),与水蒸气.变云()是截然不同的过程,虽然调用的方法都一样
  • 多态性和多态可以帮助我们更好地处理变化,同时也可以使我们的代码更加灵活和可扩展。
  • 它们还可以提高代码的复用性和可维护性,同时也可以减少代码的重复性。

【七】自省与反射

  • 自省和反射是面向对象编程中的两个重要概念。
    • 自省是指一个对象能够获取其自身的属性和方法。
    • 反射则是指一个对象能够根据其类型执行特定的操作。
  • 自省和反射可以帮助我们更好地理解和控制对象的行为,同时也可以提高代码的灵活性和可扩展性。
  • 它们还可以帮助我们更方便地开发和维护代码,同时也可以提高代码的效率和可靠性。

标签:术语,封装,Python,代码,复用,可维护性,OOP,面向对象编程,可以
From: https://www.cnblogs.com/dream-ze/p/17867264.html

相关文章

  • [python] 基于Tablib库处理表格数据
    Tablib是一个用于处理电子表格(如Excel,CSV,JSON)的Python库。它提供了一种简单而强大的方式来操作和处理数据。利用Tablib,我们可以轻松地读取、写入、过滤和转换各种类型的电子表格数据。Tablib具有一致且易于使用的API,以在不同的数据格式之间进行无缝转换。比如,Tablib可以将数据......
  • Python爬取某电商平台商品数据及评论!
    前言随着互联网的发展,电商平台的出现让我们的消费更加便利,消费者可以在家里轻松地购买到各种商品。但有时候我们需要大量的商品数据进行分析,或者需要了解其他消费者的评价,这时候我们可以通过爬虫来获取数据。本文将介绍如何使用Python爬取某电商平台的商品数据及评论,并且用到代理ip......
  • Python学习之十二_tkinter的学习与使用
    Python学习之十二_tkinter的学习与使用摘要本来想说会用QT5进行界面编程但是发现比较繁琐还是先学习使用tkinter的方式进行界面化的编写和学习了基础知识tkinter是一个源码开放的图形用户接口开发工具,具备跨平台的特性Python默认的GUI开发模块是tkinter(在Python3以前的版本中......
  • Python中导入包和模块
    一、模块含义在前面的几个章节中我们基本上是用python解释器来编程,如果你从Python解释器退出再进入,那么你定义的所有的方法和变量就都消失了。为此Python提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块。模块是一个包含所......
  • [python] 基于Tablib库处理表格数据
    Tablib是一个用于处理电子表格(如Excel,CSV,JSON)的Python库。它提供了一种简单而强大的方式来操作和处理数据。利用Tablib,我们可以轻松地读取、写入、过滤和转换各种类型的电子表格数据。Tablib具有一致且易于使用的API,以在不同的数据格式之间进行无缝转换。比如,Tablib可以将数据......
  • Python中命名空间及作用域
    一、命名空间命名空间(Namespace)是从名称到对象的映射,大部分的命名空间都是通过Python字典来实现的。命名空间提供了在项目中避免名字冲突的一种方法。各个命名空间是独立的,没有任何关系的,所以一个命名空间中不能有重名,但不同的命名空间是可以重名而没有任何影响。我们举一......
  • Python——第四章:内置函数(下)
    内置函数的使用方法:zip:可以把多个可迭代内容进行合并sorted:排序filter:筛选map:映射zip我们想把每个列表的第1位、第2位、第3位打包放在一起,手写的操作方法如下:#012lst1=["赵本山","范伟",'苏有朋']lst2=[40,38,42]lst3=["卖......
  • python的cv2模块使用
    一.安装CV2(opencv)模块pipinstallopencv-python二.使用imread读取图片使用函数cv2.imread(filepath,flags)读入一副图片filepath:要读入图片的完整路径flags:读入图片的标志cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道。alpha通道代表透明度效果,取值......
  • 基于Python的BlackJack游戏项目设计与实现——LW
    本篇论文介绍了基于Python的Blackjack游戏的设计和实现。该游戏是一款经典的赌博游戏,玩家可以在游戏中与电脑进行对战。在系统设计方面,本文首先对需求进行了分析,并采用了面向对象的方法进行了系统的设计。在客户端模块设计中,使用了Pygame库进行图形界面的实现,同时采用了多线程技术......
  • Python——第四章:匿名函数
    匿名函数:lambda表达式语法:变量=lambda参数,参数2,参数3....:返回值标准函数的调用deffunc():print(123456)return9999ret=func()print(ret) ......