面向对象编程基本概念

面向过程概述

面向过程编程,就是一种以过程为中心的编程思想。

分析出解决问题所需要的步骤,然后用函数把步骤一步一步实现。使用的时候一个一个依次调用。

面向对象编程

面向对象编程是一种对是世界理解和抽象的编程方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行程序开发,更贴近实物的自然运行模式。

万物皆对象

用程序来抽象(形容)对象,用面向对象的思想来编程。

感受面向对象编程

飞行棋中的格子结构体、地图结构体、玩家结构体。

套路:用一种中文去形容一类对象,把一类对象的共同点提取出来,然后用程序语言把它翻译过来,带着对象的概念在程序中使用它们。

为什么要学习面向对象编程

提高代码复用率

提高开发效率

提高程序可拓展性

清晰的逻辑关系

如何学习面向对象

面向对象关键知识

类(class关键词)

面向对象三大特性

封装+继承+多态

面向对象七大原则

开闭原则、依赖倒转原则、里氏替换原则、单一职责原则、接口隔离原则、合成复用原则、迪米特法则。

重点中的重点

封装:用程序的语言来形容对象。

继承:复用封装对象的代码;儿子继承父亲,复用现成代码。

多态:同样行为的不同表现,儿子继承父亲的基因但是有不同的行为表现。

总结

面向对象编程思想就是:

万物皆对象

用程序来抽象(形容)对象

用面向对象的思想来编程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/854944.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python3 笔记:upper()、isupper()、lower()、islower()、swapcase()

1、upper() 方法将字符串中的小写字母转为大写字母。 语法:str.upper() 2、isupper() 方法检测字符串中所有的字母是否都为大写。 语法:str.isupper() 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写…

2023年全国大学生数学建模竞赛C题蔬菜类商品的自动定价与补货决策(含word论文和源代码资源)

文章目录 一、题目二、word版实验报告和源代码(两种获取方式) 一、题目 2023高教社杯全国大学生数学建模竞赛题目 C题 蔬菜类商品的自动定价与补货决策 在生鲜商超中,一般蔬菜类商品的保鲜期都比较短,且品相随销售时间的增加而…

雨水情监测系统解决方案

一、系统介绍 水库雨水情自动测报系统辅助水利管理部门实现水库雨水情信息“全要素、全量程、全覆盖”自动测报。系统具备水库水位、雨量、现场图像/视频等水文信息采集、传输、处理及预警广播等功能,有效提升了雨水情信息的时效性和准确度,为保障水库安…

CSS 表单设计指南

CSS 表单设计指南 引言 在网页设计中,表单是用户与网站交互的重要方式。一个设计良好的表单不仅能够提高用户体验,还能有效提升数据收集的效率。CSS(层叠样式表)作为网页设计的关键技术之一,可以极大地改善表单的外观…

【网络协议栈】IGMP

IGMP IGMP(Internet Group Management Protocol)是互联网组管理协议的简称,属于TCP/IP协议族中负责IPv4组播成员管理的协议。以下是关于IGMP的详细介绍: 1 定义与作用 定义:IGMP是多播组成员的一种通信协议&#xf…

国内docker镜像加速

自己注册一个阿里云或者华为云的账户,搜索镜像 点击开通,再点击镜像加速器,可以看到自己的加速器地址,然后替换就可以了。再去pull即可成功,但是响应还是要慢一点

创建应用程序

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 使用wxPython之前,先来了解两个基础对象:应用程序对象和顶级窗口。 应用程序对象管理主事件循环,主事件循环是wx…

PostgreSQL源码分析——视图查询重写

这里我们分析一下查询重写的过程,主要分析视图的查询重写的过程。通过以下语句进行分析: create table t1(a int, b int); insert into t1 values(1,1); -- 创建视图 create view vt1 as select * from t1; -- 查询 select * from vt1;查询重写过程分析…

鸿蒙实战开发:网络层的艺术——优雅封装与搭建指南(下)

前言 在前两篇文章中,我们深入探讨了网络层的封装和优化技巧。本文将带您走进网络层的实战应用,从架构设计到具体实现,一步步指导您如何使用我们精心构建的网络框架。 一、网络层架构设计 在鸿蒙应用开发中,一个清晰、合理的网络层架构是保证项目可维护性和扩展性的关键…

发那科机器人IO 分配

IO 信号 也称为输入\输出信号,是机器人与外围设备通信的电信号

ROS 1的相机驱动代码迁移到ROS 2的方法

为了将ROS 1的相机驱动代码迁移到ROS 2,你需要对代码进行一系列的修改,包括但不限于更新消息类型、API调用和构建系统。 ### 步骤1:更新消息类型 - sensor_msgs/Image和cv_bridge在ROS 2中是可用的,但是确保你使用的是ROS 2版本的…

[CODE:-5504]没有[SYS.SYSOBJECTS]对象的查询权限

报错解释: 错误代码 [CODE:-5504] 表示用户尝试执行一个涉及到系统表 SYS.SYSOBJECTS 的查询,但是没有获得相应的查询权限。SYS.SYSOBJECTS 是一个系统表,包含了数据库中所有对象的信息,例如表、视图、存储过程等。 解决方法&am…

效率软件大盘点

Hey小伙伴们💕!知道你们都在追求高效工作生活,今天就来给大家种草五款超实用的国产工作App,让你的效率直线上升,再也不怕被工作追着跑啦!🚀 1️⃣ 【亿可达】 - 软件连接器 🔗 作为…

电手出软件啦!各种姿势一键重装你的系统

电手的兄弟们你们好啊,很多兄弟都知道,我们老大傲梅是做软件的,例如大伙儿都用过的傲梅分区助手,还有傲梅轻松备份。相信不少兄弟都是用了分区助手才关注到电手的。 而我们电手,在电脑和手机玩机内容方面一直深耕。 跟…

Linux安装并配置Java

1、Linux操作系统安装Java 1.1、下载Java JDK解压包 官方提供的网址: 选择Linux版本 下载列表选择最后一项,通过解压方式安装 倒数第二项是以rpm方式进行安装,另一篇安装MySQL时就是用到rpm方法。 1.2、解压JDK tar -zxvf jdk-8u411-lin…

软件项目管理概述

1.什么是项目? 2.项目管理的定义 3.项目管理的本质 4.项目成功的标志 5.项目管理的基本方法 6.项目的生命周期(启动 计划 执行 控制 结束) 7.结合生活中的某件事,谈谈项目管理的作用 项目管理在日常生活中扮演着重要的角色&…

CP AUTOSAR标准之LargeDataCOM(AUTOSAR_CP_SWS_LargeDataCOM)

1 简介和功能概述 该规范描述了AUTOSAR基础软件模块LdCom的功能、API和配置。   在AUTOSAR分层架构中,AUTOSAR LdCom模块位于RTE/SwCluC_LdComProxy和PDU路由之间,参见[1,EXP LayeredSoftwareArchitecture]。   AUTOSAR LdCom模块提供了一种替代的交互层机制。通过专注于…

代码随想录算法训练营第二十七天|93.复原IP地址、 78.子集、90.子集II

93.复原IP地址 题目链接:93.复原IP地址 文档讲解:代码随想录 状态:还行,判断字符是否有效卡了好久 思路:通过回溯算法遍历所有可能的分割方式,每个IP地址段必须是0到255之间的整数且不能有前导零&#xff0…

Protobuf详解及入门指南

Protobuf详解及入门指南 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!在分布式系统和跨平台通信中,高效、轻量的序列化协议尤为重要。Google的Pro…

PyMuPDF 操作手册 - 01 从PDF中提取文本

文章目录 一、打开文件二、从 PDF 中提取文本2.1 文本基础操作2.2 文本进阶操作2.2.1 从任何文档中提取文本2.2.2 如何将文本提取为 Markdown2.2.3 如何从页面中提取键值对2.2.4 如何从矩形中提取文本2.2.5 如何以自然阅读顺序提取文本2.2.6 如何从文档中提取表格内容2.2.6.1 提…