首页 > 其他分享 >Day28--什么是面向对象

Day28--什么是面向对象

时间:2024-11-02 11:57:28浏览次数:3  
标签:西红柿 Day28 -- 食材 面向对象 对象 面向 过程

Day28--什么是面向对象

面向过程和面向对象的抽象理解:

面向过程思想

步骤清晰简单: 第一步做什么, 第二步做什么.....
面对过程适合处理一些较为简单的问题

面向对象思想

物以类聚, 分类的思维模式, 思考问题首先会解决问题需要哪些分类, 然后对这些分类进 行单独思考。最后, 才对某个分类下的细节进行面向过程的思索。
面向对象适合处理复杂的问题: 适合处理需要多人协作的问题!

面向过程和面向对象的联系:

对描述复杂的事物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是, 具体到微观操作, 仍然需要面向过程的思路去处理。

举例:面向过程和面向对象的生动理解

面向过程

  • 思路描述
    • 面向过程的方式会把做饭这个任务分解成一系列的步骤,一步一步地去执行。
  • 具体步骤
    • 第一步:去市场买菜。确定要做的菜需要哪些食材,然后去市场挑选新鲜的食材,比如要做西红柿炒蛋,就需要买西红柿和鸡蛋。
    • 第二步:准备食材。回到家后,把买回来的西红柿清洗干净,切成小块;把鸡蛋打到碗里,用筷子搅拌均匀。
    • 第三步:烹饪。先打开炉灶,放上锅,倒入适量的油,等油热了以后,先把鸡蛋液倒入锅中炒熟盛出,再把西红柿块倒入锅中翻炒,加入适量的盐和糖,等西红柿出汁后,把炒好的鸡蛋再倒回锅中,和西红柿一起翻炒均匀。
    • 第四步:装盘。把炒好的西红柿炒蛋盛到盘子里,可以根据个人喜好撒上一些葱花作为装饰。

面向对象

  • 思路描述
    • 面向对象的方式会把与做饭相关的事物看成不同的对象,每个对象都有自己的属性和行为。
  • 对象分析
    • 厨师对象:厨师是一个具有做饭技能的对象。他有自己的技能属性,比如擅长炒菜、会做西餐等。他的行为就是做饭,根据不同的菜谱要求,利用各种食材和厨具来制作食物。
    • 食材对象:西红柿和鸡蛋都是食材对象。它们有自己的属性,比如西红柿的颜色、形状、新鲜度;鸡蛋的大小、重量、新鲜度等。它们的行为就是被厨师处理,比如被清洗、被切割、被烹饪等。
    • 厨具对象:锅、炉灶、筷子、碗等都是厨具对象。它们有自己的属性,比如锅的大小、材质;炉灶的火力大小等。它们的行为就是辅助厨师完成烹饪过程,比如锅用来炒菜、炉灶提供热量、筷子用来搅拌鸡蛋、碗用来装食材等。

通过这个例子可以看出,面向过程更侧重于按顺序执行一系列的操作步骤来完成任务;而面向对象则是从对象的角度出发,考虑对象的属性和行为以及它们之间的相互关系来完成任务。

什么是面向过程

面向对象编程(Object - Oriented Programming, OOP)
面向对象编程的本质就是:以类的方式组织代码: 以对象的组织(封装)数据。

抽象:将数据中相同类型的抽取出来,抽像

三大特性:

  • 封装
  • 继承 子类 父类 子类继承父类
  • 多态

从认识论角度考虑是先有对象后有类。对象, 是具体的事物。类, 是抽象的, 是对对象的抽身
从代码运行角度考虑是先有类后有对象。类是代替对象的模板。

小的理解:

从认识论角度考虑是先有对象后有类。:先有人,才有对人的分类:男、女;律师、教师、学生......

从代码运行角度考虑是先有类后有对象:根据已有的类创建对象

本节,抽象的概念过多,但是在以后的学习中会慢慢理解!!!!!!!

标签:西红柿,Day28,--,食材,面向对象,对象,面向,过程
From: https://www.cnblogs.com/xiaokunzhong/p/18521768

相关文章

  • 一分钟学会Python基础
    Python是一种广泛使用的高级编程语言,因其简洁和易读的语法而受到欢迎。下面是一些Python基础知识的概述:1.安装Python 1.下载:你可以从Python官网下载适合你操作系统的版本。2.安装:安装过程中,确保勾选"AddPythontoPATH"选项。 2.基本语法打印输出:使......
  • 安卓Android 图片/Bitmap工具类
    图片/Bitmap工具类1、根据uri解码图片,通常用在从相册选择照片(1)此方法包含了压缩Bitmap,根据目标尺寸缩放等/***根据Uri解码图片**@paramselectedImage图片的Uri*@return解码后的Bitmap对象*@throwsFileNotFoundException如果文件找不......
  • 分散投资如何降低亏损风险?
    炒股自动化:申请官方API接口,散户也可以python炒股自动化(0),申请券商API接口python炒股自动化(1),量化交易接口区别Python炒股自动化(2):获取股票实时数据和历史数据Python炒股自动化(3):分析取回的实时数据和历史数据Python炒股自动化(4):通过接口向交易所发送订单Python炒股自动化(5):......
  • 学科专业知识——信息技术基础知识
    第二节信息获取与管理1、信息的获取1.1信息来源的类型(记)1.2信息获取的途径(记)(2014上简答)(1)直接获取信息:通过人的感官与事物接触,使事物的面貌和特征在人的大脑中留下印象。如实践活动,包括参加社会生产劳动实践和参与各种科学实验等。(2)间接获取信息:用科学的分析研究方法,......
  • SpringBoot实现验证码案例
    目录实现逻辑前后端交互接口前端代码后端代码实现逻辑1、后端功能:随机生成验证码图片,并把交给前端、接收用户输入,验证用户输入的验证码是否正确、2、前端功能:显示验证码,提供输入框供用户输入他们看到的验证码,把用户输入的数据交给后端,接收后端返回的验证结果前后......
  • Spring Boot框架在信息学科平台开发中的高级应用
    4系统概要设计4.1概述本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示:图4-1系统工作原理图4.2系统结构本系统......
  • 信息学科平台系统构建:Spring Boot框架深度解析
    4系统概要设计4.1概述本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示:图4-1系统工作原理图4.2系统结构本系统......
  • MTK 6789点亮摄像头
    MT6789 kernel-5.10 6789代码跟6761、62、65不一样如何点亮一颗摄像头例main:ov64b40_mipi_raw摄像头驱动路径:1.驱动 放入驱动文件路径:alps\kernel-5.10\drivers\misc\mediatek\imgsensor\src\common\v1_1\ov64b40_mipi_raw1.1Makefile 路径:alps\kernel-5.10\drive......
  • 线程安全的单例模式(Singleton)。
    在Java中,实现线程安全的单例模式(Singleton)通常涉及确保类的实例在多线程环境中只被创建一次。有多种方法可以实现这一点,包括使用synchronized关键字、双重检查锁定(Double-CheckedLocking,DCL)、静态内部类(BillPughSingletonDesign)以及使用java.util.concurrent包中的类。......
  • 基于STM32F407系列外部中断学习
    STM32外部中断学习1)外部中断概述1.外部中断描述在日常生活中,例如早上在睡觉被闹钟吵醒,你去关闭闹钟就属于中断事件。在主函数里的代码是由CPU运行的,CPU在执行过程中突然发生了异常事件(中断),CPU必须暂停当前的工作(设下断点),然后跑去处理这个异常事件的函数(中断服务函数),处理......