0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解面向对象(一)

冬至配饺子 来源:多兰多 作者:Toranto 2022-08-18 14:55 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

面向过程和面向过程

面向过程

:核心是过程二字,过程指的是解决问题的步骤。编程的时候吸纳吧解决问题的步骤分析出来,然后用函数把这些步骤实现,在一步步的具体步骤中再按顺序调用函数。适合简单任务,不需要过多写作。

面向对象

:核心是对象二字,对象是由属性和方法组成的。编程的时候首先思考的是怎么设计这个事物。比如思考造车,我们就会先思考“车怎么设计?”,而不是“怎么按步骤造车的问题”。找轮胎厂完成制造轮胎的步骤,发动机厂完成制造发动机的步骤。这样,发现大家可以同时进行车的制造,最终进行组装,大大提高效率。

面向对象可以帮助我们从宏观上把握、从整体上分析。但是,具体到实现部分的微观操作,仍然需要面向过程的思路去处理。我们千万不要把面向过程和面向对象对立起来。他们是相辅相成的。面向对象离不开面向过程。

一个经典的比喻:面向对象是盖浇饭。盖浇饭的好处就是“菜”“饭”分离,从而提高了制作盖浇饭的灵活性。饭不满意就换饭,菜不满意换菜。用软件工程的专业术语就是“可维护性”比较好,“饭” 和“菜”的耦合度比较低

类和对象

:一个比较抽象的概念,可以理解成生活中的‘“类别”。

类中的所有变量称为属性

类中所有的函数通常称为方法

对象

:具化到类里面的个体。这样讲起来比较晦涩难懂,大白话来说,猫、狗、鸡等属于类,这里面的某只具体的个体,比如说Toranto养的大金毛,Toranto养的英短,就属于对象。

小明:“那是先有类还是先有对象?”

Toranto:“Of course,当然是先有对象再有类,我们划分类的标准是通过观察对象的某些相似特征来划分的,这么说就很简单了吧?”

Toranto:“但是!程序中先有类再有对象:先定义类,再通过类实例化对象。”

小明:“你框我?”

Toranto:“有话好好说...”

定义类

Python中定义一个类使用class关键字实现

在给类起名字时,建议每个单词的首字母大写,其它字母小写。

给类起好名字之后,其后要跟有冒号:,表示告诉 Python 解释器,下面要开始设计类的内部功能了,也就是编写类属性和类方法。

类属性指的就是包含在类中的变量,而类方法指的是包含类中的函数。

换句话说,类属性和类方法其实分别是包含在类中的变量和函数的别称。需要注意的一点是,同属一个类的所有类属性和类方法,要保持统一的缩进格式。



比如:

创建对象

创建类对象的过程,又称为类的实例化。

对已定义好的类进行实例化,其语法格式如下:

比如:






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    90

    文章

    3709

    浏览量

    96798
  • python
    +关注

    关注

    57

    文章

    4859

    浏览量

    89621
  • 解释器
    +关注

    关注

    0

    文章

    103

    浏览量

    6937
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    电缆故障监测的对象及内容

    管理人员迅速采取维修措施,来确保电缆系统的安全稳定运行。 要实现电缆故障监测预防故障发生、快速定位故障并评估电缆状态的目的,可采取多种技术手段来进行。般来说,电缆故障监测的对象主要包括电缆的导体、绝缘层、护
    的头像 发表于 11-27 11:42 222次阅读
    电缆故障监测的<b class='flag-5'>对象</b>及内容

    canopen如何通过对象字典控制外设?

    各位大佬好,我在移植canopen的时候碰到个疑问。比如我修改对象字典2000,子索引为0这个目录下的值,如何这个对象映射的是某个led灯的亮灭,输入1为亮,0为灭。 问题就是我发送报文之后会进入
    发表于 09-11 06:04

    种适用于动态环境的自适应先验场景-对象SLAM框架

    由于传统视觉SLAM在动态场景中容易会出现严重的定位漂移,本文提出了种新颖的基于场景-对象的可靠性评估框架,该框架通过当前帧质量指标以及相对于可靠参考帧的场景变化,全面评估SLAM的稳定性。
    的头像 发表于 08-19 14:17 660次阅读
    <b class='flag-5'>一</b>种适用于动态环境的自适应先验场景-<b class='flag-5'>对象</b>SLAM框架

    HarmonyOS 5 makeObserved接口详解

    【HarmonyOS 5】makeObserved接口详解 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财# 、makeObserved接口
    的头像 发表于 06-16 17:58 533次阅读

    SSH常用命令详解

    SSH常用命令详解
    的头像 发表于 06-04 11:30 1736次阅读

    【必看】开关电源中每个元器件的计算+51页图文详解

    开关电源的各个元器件怎么计算?损耗怎么估算?散热器的大小怎么计算? 51页图文详解文带你弄懂! 纯分享贴,有需要可以直接下载附件获取完整资料! (如果内容有帮助可以关注、点赞、评论支持下哦~)
    发表于 05-12 16:20

    芯片新关税涉及的品牌/标签/产地—详解

    芯片新关税涉及的品牌/标签/产地—详解
    的头像 发表于 04-16 17:44 851次阅读
    芯片新关税涉及的品牌/标签/产地—<b class='flag-5'>详解</b>

    如何使用OpenVINO™运行对象检测模型?

    无法确定如何使用OpenVINO™运行对象检测模型
    发表于 03-06 07:20

    AMAZINGIC晶焱科技:详解RF端口如何选择TVS启动电压

    AMAZINGIC晶焱科技:详解RF端口如何选择TVS启动电压
    的头像 发表于 02-20 10:09 889次阅读
    AMAZINGIC晶焱科技:<b class='flag-5'>详解</b>RF端口如何选择TVS启动电压

    电力电子中的坐标变换详解

    电力电子中的坐标变换详解 clark变换&park变换
    发表于 02-17 15:28 1次下载

    Kubernetes Pod常用管理命令详解

    Kubernetes Pod常用管理命令详解
    的头像 发表于 02-17 14:06 996次阅读
    Kubernetes Pod常用管理命令<b class='flag-5'>详解</b>

    精密空调操作使用方法详解

    精密空调操作使用方法详解
    的头像 发表于 02-10 14:44 1919次阅读
    精密空调操作使用方法<b class='flag-5'>详解</b>

    对象存储是什么结构类型?

    对象存储属于非结构化数据存储架构,采用扁平化命名空间结构。其核心通过唯标识符(ObjectID)定位数据对象,突破传统文件系统的层级目录限制,形成"桶-对象"两级逻辑模型。数据以独立
    的头像 发表于 02-10 11:14 701次阅读

    详解RF端口如何选择TVS启动电压

    AMAZINGIC晶焱科技技术应用:详解RF端口如何选择TVS启动电压
    的头像 发表于 02-05 16:19 1405次阅读
    <b class='flag-5'>详解</b>RF端口如何选择TVS启动电压

    HarmonyOS Next 应用元服务开发-分布式数据对象迁移数据权限与基础数据

    ) ?? \'\'); }); } } 在对端UIAbility的onCreate()/onNewWant()中,通过加入与源端致的分布式数据对象组网进行数据恢复。 创建空的分布式数据对象,用于接收
    发表于 12-24 09:40