面向对象和面向过程思想概述

2023-11-10

面向过程的思想去实现一个功能的步骤
首先要做什么,怎么做,最后我们再代码体现。一步一步去实现,而具体的每一步都需要我
们去实现和操作。这些步骤相互调用和协作,实现我们的功能。每一个步骤我们都是参与者,并且
需要面对具体的每一个步骤和过程,这就是面向过程最直接的体现。
面向过程开发关心的就是每一步的实现,如果每一步都能够实现那么功能就能够实现,中间如果任何一 个步骤出现问题,都会导致失败。
面向过程的代表语言: C 语言
面向对象的编程思想只能满足简单功能的实现,但在实际开发当中,项目的功能只会越来越
多,不会越来越少,需求也是不断地变化的,可随着需求的更改,功能的增多,发现需要面向每一
个过程就很麻烦了,并且程序的可维护性也是非常非常差的,能不能把这每一个步骤和功能再进行
封装,根据不同的功能,进行不同的封装,功能类似的封装在一起。使用的时候,找到对应的类就
可以了。这就是面向对象的思想。
面向对象好处:
1. 面向对象也是基于面向过程的编程思想,但是面向对象相比于面向过程更符合我们的思维方式,万
物皆对象。
2. 可以将复杂的问题简单化,大大提高了程序的可读性和可维护性
3. 面向过程思想中,我们是程序的执行者,面向对象当中,我们是程序的调用者,这样的话也可以方便程序给其他人调用,提高了程序的扩展性
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

面向对象和面向过程思想概述 的相关文章

  • C++ Primer学习-第15章 面向对象编程

    15 1 面向对象编程 xff1a 概述 在C 43 43 中 xff0c 基类必须指出希望派生类重新定义那些函数 xff0c 定义为virtual的函数是基类期待派生类重新定义的 xff0c 基类希望派生类继承的函数不能定义为学虚函数 1
  • python 面向对象编程

    面向对象与面向过程 参考链接 xff1a https www liaoxuefeng com wiki 0014316089557264a6b348958f449949df42a6d3a2e542c000 0014318645694388f
  • Python面向对象编程 - 一个记事本程序范例(二)

    给程序加上控制台菜单 menu py import sys from notebook import Notebook Note class Menu 39 39 39 Display a menu and respond to choic
  • 《Java面向对象编程(阿里云大学)》笔记(文档+思维导图)

    课程链接 xff1a https edu aliyun com course 1011 xff08 还是建议去看课程 xff0c 笔记仅供参考 由于文中的所有内容均为手敲 xff0c 并且有些代码并未验证 xff0c 因此如有错误 xff0
  • Python面向对象编程

    Python面向对象编程
  • 如何理解面向对象编程(OOP)

    想要理解OOP 首先需要清楚什么是对象 所谓对象就是由一组数据结构和处理它们的方法组成的 划重点 数据 包括对象的特性 状态等的静态信息 方法 也就是行为 包括该对象的对数据的操作 功能等能动信息 把相同行为的对象归纳为类 类是一个抽象的概
  • Python学习笔记 面向对象编程

    类和对象 定义类 Python支持面向对象编程 下面是一个例子 我们可以看到 在Python中声明类和其他语言差不多 不过实际上差别还是挺大的 首先 Python没有严格意义上的构造函数 只有一个 init self XXX 函数 该函数和
  • 定义Staff(员工)类,由Staff分别派生出Saleman(销售员)类和Manager(经理)类,再由Saleman(销售员)类和Manager(经理)类采用多重继承方式派生出新类SaleMana

    定义Staff 员工 类 由Staff分别派生出Saleman 销售员 类和Manager 经理 类 再由Saleman 销售员 类和Manager 经理 类采用多重继承方式派生出新类SaleManager 销售经理 类 要求 1 在Sta
  • C++知识点37——拷贝构造函数

    无论是C 自定义的类还是STL内部的容器类 会显式的定义类的对象在拷贝 赋值和销毁时执行的操作 一个类通过五个成员函数来控制这些操作 拷贝构造函数 拷贝赋值运算符 移动构造函数 移动赋值运算符和析构函数 其中 拷贝构造函数和移动构造函数定义
  • 编程语言的一些基础概念(三):面向对象

    在前面两篇中 主要讲了函数式编程语言的一些基础概念 这篇是 Coursera Programming Languages Part C 的总结 通过 Ruby 介绍面向对象编程里的一些概念 了解这些概念能让你在上手任何一门新的面向对象语言时
  • 面向对象基础--类和对象

    类和对象的关系 一 对象 用来描述客观事物的一个实体 由一组属性和方法构成 对象是由静态特征和动态特征组成 1 静态特征 属性 2 动态特征 方法 对象的特征 属性 属性 对象具有的各种特征 每个对象的每个属性都拥有特定值 对象的特征 方法
  • python是一种面向什么的高级语言

    python是一种面向什么的高级语言 Python是一种面相对象 解释型的计算机程序语言 并已成为学习数据科学 虚拟现实和人工智能的首选编程语言 其设计哲学是 优雅 明确 简单 易上手 及时反馈的特点成了很多入门编程世界的首选 同时Pyth
  • 面向对象编程类的内聚性

    高内聚 低耦合是软件设计中非常关键的概念 在面向对象程序设计中类的划分时 类的内聚性越高 其封装性越好 越容易复用 以下在类划分时关于内聚性的问题 静态类的设计 在软件设计中 我们经常会将一些通用的方法封装到一个类中 这种类只包含方法 没有
  • Java学习心得1———面向对象的思想

    学习Java的第一天是学习面向对象的思想 思考方式 以下是我对面向对象思想的个人理解 面向对象是符合人类的思考方式的 因为我们平时观察和认知这个世界都是以对象为单位的 我们能分辨猫 狗 房子 车是不同的对象 我们知道猫这个对象有眼睛 有嘴巴
  • 面对对象--结构体和类的区别

    一 面向对象 结构体和类的区别 结构体是一种值类型 而类是引用类型 值类型用于存储数据的值 引用类型用于存储对实际数据的引用 那么结构体就是当成值来使用的 类则通过引用来对实际数据操作 构使用栈存储 Stack Allocation 而类使
  • Java面向对象三大特性(封装、继承、多态)

    文章目录 前言 一 封装 1 封装的概念 2 private实现封装 3 getter和setter方法 4 封装的好处 二 继承 1 继承的概念 2 extends实现继承 3 super 关键字 Object 4 访问权限 1 priv
  • python面向对象编程高级篇之枚举类Enum

    我们可以定义月份 比如 from enum import Enum Month Enum Month Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec for name member in Mo
  • C# 的继承(学习心得 19)

    继承允许我们根据一个类来定义另一个类 这使得创建和维护应用程序变得更容易 利于重用代码和节省开发时间 已有的类被称为的 基类 这个新的类被称为 派生类 继承的思想实现了 属于 IS A 关系 例如 哺乳动物 属于 IS A 动物 狗 属于
  • C++实验一:简单数据及运算(解方程、海伦公式求三角形面积)

    实验目的 1 掌握C 中的基本数据类型的算术运算和逻辑运算 2 理解并掌握C 中运算符的优先级 3 掌握简单的类型转换方法 4 掌握C 的math头文件中常用的几种数学运算 5 了解visual studio的debug功能 并使用debu
  • 面向对象设计 简述

    面向对象设计 面向对象的特性 将数据封装于类中 完全面型对象 封装 隐藏细节 只给出使用信息 公共的访问方式 隐藏对象的属性和实现细节 继承 继承就是子类继承父类的特征和行为 使得子类对象 实例 具有父类的实例域和方法 或子类从父类继承方法

随机推荐

  • C ~ 文件读写

    一个文件 无论它是文本文件还是二进制文件 都是代表了一系列的字节 如何创建 打开 关闭文本文件或二进制文件 C 语言不仅提供了访问顶层的函数 也提供了底层 OS 调用来处理存储设备上的文件 打开文件 可以使用 fopen 函数来创建一个新的
  • 二叉树-判断另一棵树的子树(Java)

    另一棵的子树 力扣572题 题目 给你两棵二叉树 root 和 subRoot 检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树 如果存在 返回 true 否则 返回 false 二叉树 tree 的一棵子树包括 t
  • 关于qt.qpa.plugin: Could not load the Qt platform plugin “windows“ in ““ even though it was found.问题

    将如下三个文件 Anaconda3 Lib site packages PySide2 plugins platforms qminimal dll Anaconda3 Lib site packages PySide2 plugins p
  • HTML标签的语法格式

    HTML 中的标签就像关键字一样 每个标签都有自己的语义 含义 例如 p 标签代表段落 b 标签代表加粗 根据标签的不同 浏览器会使用不同的方式展示标签中的内容 在实际开发中 有时我们也将 HTML 标签称为 HTML 元素 HTML 标签
  • 在Makefile中无缝连接字符串

    今天在写Makefile时 忽然遇到了一个问题 如何把几个字符串无缝的连接起来 我自然而然的想到了使用 比如 1 2 3 4 5 6 7 8 9
  • IDEA实用插件

    目录 1 Convert YAML and Properties File 2 GitToolBox 3 JPA Buddy 4 Translation 5 iBATIS MyBatis plugin 6 lombok 7 Backgrou
  • Docker 的使用

    docker 的使用 什么是镜像 镜像是一个文件系统 提供了容器运行时需要用到的文件和参数配置 相当于安装操作系统时需要用到 ISO 文件 1 创建docker镜像 并放在容器中 创建自己的镜像 docker create it ubunt
  • PS透明屏,在科技展示中,有哪些优点展示?

    PS透明屏是一种新型的显示技术 它将传统的显示屏幕与透明材料相结合 使得屏幕能够同时显示图像和透过屏幕看到背后的物体 这种技术在商业展示 广告宣传 产品展示等领域有着广泛的应用前景 PS透明屏的工作原理是利用透明材料的特性 通过控制屏幕上的
  • Mysql -- 设置中国时区时间

    Mysql 设置中国时区时间 查看mysql的时区设置 mysql gt show variables like time zone 修改mysql的时区设置 注 mysql的默认时区是UTC 8 00是中国所在时区 东八区 mysql g
  • Leetcode 21. 合并两个有序链表

    Leetcode 21 合并两个有序链表 1 问题分析 2 问题解决 3 总结 1 问题分析 题目链接 https leetcode cn com problems merge two sorted lists 本质上就是一个链表操作问题
  • 解读CUDA Compiler Driver NVCC - Ch.3

    前言 上一篇文章简单了介绍了nvcc预定义的宏 以及支持的编译阶段 对应的输入文件后缀和输出文件的默认名 本篇文章了解CUDA源文件编译的整个workflow Overview CUDA编译的工作原理如下 输入程序经过设备编译编译预处理 编
  • HTTP的报文格式、GET和POST格式解析

    TTP报文是面向文本的 报文中的每一个字段都是一些ASCII码串 各个字段的长度是不确定的 HTTP有两类报文 请求报文和响应报文 请求报文 一个HTTP请求报文由请求行 request line 请求头部 header 空行和请求数据4个
  • JSON的下划线转驼峰,驼峰转下划线

    由于遇到了奇葩甲方 需要将数据格式转成下划线的格式 但是我们项目都是按照标准驼峰格式 所以写了个工具类来转换 不仅仅限于驼峰和下划线 根据需要传入 有没有大佬把这个递归改成迭代的 使用到的依赖 fastjon google的guava工具包
  • QT中代码设计和.ui文件设计的区别

    在面试中很多面试官经常会问到 ui和代码设计的区别 在网上一搜发现几乎没有人去解答这个问题 首先我们看一下一个简单的deamon 分别是代码实现和 ui实现 代码版 ui文件实现版 通过以上两种实现方式 不难发现 代码上的实现能够更精细 u
  • Navicat安装教程

    1 软件下载地址 点击下载 2 首先将下载后的文件解压到本地 3 右键选择以管理员身份运行navicat 15 0 64bit exe 4 然后点击下一步按钮 5 勾选我同意 然后点击下一步按钮 6 选择指定的安装目录 然后点击下一步按钮
  • micropython-SPI通讯

    micropython SPI通讯 1 什么是SPI 2 SPI通讯原理 3 Micropython中的SPI 4 ZTMR测试SPI 1 ZTMR中SPI引脚 2 ZTMRSPI自测 2 SPI 2板之间通讯测试 1 什么是SPI SPI
  • malloc底层原理实现

    使用过c语言的都知道malloc是一个动态分配内存的函数 还可以通过free释放内存空间 如果我们想分析一下malloc的源码 这其实不是一会就能看懂的 但是我们可以讨论一下malloc的简单实现 在这之前 我们先来看一下虚拟内存空间 虚拟
  • 错误until the update interval of nexus-releases has elapsed or updates are forced

    错误 until the update interval of nexus releases has elapsed or updates are forced 之前是先往nexues本地库里上传了jar文件 从文件系统里传的 而不是从ne
  • 解决Port 8080 is already in use

    前言 在运行项目的时候报错显示端口号已被占用 如下图 解决方法 第一步 win R打开 输入cmd进入命令窗口 第二步 输入netstat ano回车 找到对应的进程PID为14472 第三步 输入命令tasklist回车 找到对应的进程名
  • 面向对象和面向过程思想概述

    面向过程的思想去实现一个功能的步骤 首先要做什么 怎么做 最后我们再代码体现 一步一步去实现 而具体的每一步都需要我 们去实现和操作 这些步骤相互调用和协作 实现我们的功能 每一个步骤我们都是参与者 并且 需要面对具体的每一个步骤和过程 这