面向对象,类和对象之间的关系day05

news/2024/11/15 20:07:16/文章来源:https://www.cnblogs.com/qiwei-bigdata/p/18333939
1、面向对象和面向过程的关系以及区别?
面向过程编程:开发程序的过程中,其中每一步功能的实现都是我们自己参与的,我们相当于参与者,代表语言:C语言
面向对象编程:不断地创建对象,指挥对象做事情,我们从参与者变成了指挥者,代表语言:Java2、生活中的举例:1)下课了要喝水:面向过程:自己拿起水杯,走到饮水机面前,选择冷水还是热水,接水 (全程自己参与)面向对象:乞求陈真去接水,陈真拿起水杯,陈真走到饮水机面前,陈真接水 (只需要知道对象要做什么就行了)2)吃饭:面向过程:自己去买菜,洗菜,切菜,做菜,装盘 (全程自己参与)面向对象:去饭店点菜,洗菜,切菜,做菜,装盘  (全程只需要发号施令就可以了)3、具体的案例,从代码程序角度出发
将大象装进冰箱。面向过程:class Demo1{public static void main(String[] args){//1. 打开冰箱门//...打开冰箱门是一个很复杂的动作,这个逻辑肯定不是几行代码就能搞定的,但是需要自己实现//2. 大象放进冰箱里//...这一步是一个很复杂的动作,需要自己实现//3. 关闭冰箱门//...关闭冰箱门是一个很复杂的动作,这个逻辑肯定不是几行代码就能搞定的,但是需要自己实现}}类:是java语言的基本单位,世间万物都可以使用类进行描述。class Xxx{....}面向对象的思想:需要考虑的东西:(将大象装进冰箱。)1、都有哪些类?a. 可以使用UML的技术来判断b. 使用名词提取法大象类,冰箱类,测试类2、类中都有些什么东西?分析事物具体的属性和行为。大象类:属性:身高,体重,年龄,....行为:跳进冰箱,.....冰箱类:属性:颜色,价格,......行为:打开冰箱门,关闭冰箱门,.....测试类:main方法3、类和类之间都有什么样的关系?测试类中使用大象类和冰箱类进行使用。class Elephant{身高;体重;年龄;skip(){....}}class IceBox{颜色;价格;open(){//..}close(){//..}}class Demo{public static void main(String[] args){//创建一个冰箱类对应的对象出来//冰箱对象使用打开冰箱门的方法//创建一个大象类对应的对象出来//大象使用跳进冰箱的方法//冰箱对象使用关闭冰箱门的方法}}4、面向对象特征封装(encapsulation)继承(inheritance)多态(polymorphism)5、面向对象思想特点是一种更符合我们思想习惯的思想可以将复杂的事情简单化将我们从执行者变成了指挥者,角色发生了转换6、类和对象的关系:人                          类:class Person属性:姓名,年龄,性别          成员变量:name, age, gender行为:吃,睡                  成员方法:eat(), sleep()
我们学习编程语言,就是为了模拟现实世界的事物,实现信息化。比如:去超市买东西的计费系统,去银行办业务的系统。
我们如何表示一个现实世界事物呢:
属性	就是该事物的描述信息
行为	就是该事物能够做什么
举例:学生事物
我们学习的Java语言最基本单位是类,所以,我们就应该把事物用一个类来体现。
类:是一组相关的属性和行为的集合
对象:是该类事物的具体体现
对象是类的具体体现
举例:
类	学生
对象	班长就是一个对象
类与对象的关系如图

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

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

相关文章

【YashanDB知识库】账号被锁,如何分析具体原因

问题现象 客户刚开始使用YashanDB的时候,经常收到客户反馈账号被锁,但是不知道哪里触发了。 问题的风险及影响 客户环境为测试环境,影响测试业务的开展。 问题影响的版本 YashanDB版本:23.1.3.101 问题发生原因 账号被锁一般有下面原因: ● 密码尝试次数过多: 用户在短时…

一文带你了解CAP的全部特性,你学会了吗?

目录前言消息发布携带消息头设置消息前缀原生支持的延迟消息并行发布消息事务消息事务消息发送事务消息消费事务补偿消息处理序列化过滤器消息重试多线程处理自动恢复/重连分布式存储锁消息版本隔离优化的雪花算法消息自动清理消费者特性Attribute 订阅多Attribute 订阅通配符订…

[HTTP] HTTP协议之MIME类型(多媒体资源类型)

1 概述 MIME 的定义、由来MIME(Multipurpose Internet Mail Extensions) 多用途互联网邮件扩展类型。 MIME 是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以…

Splunk Enterprise 9.3 发布,新增功能概览

Splunk Enterprise 9.3 发布,新增功能概览Splunk Enterprise 9.3.0 (macOS, Linux, Windows) - 机器数据管理和分析 Splunk Enterprise 9.3 于 2024 年 7 月发布。新增功能新功能、增强或更改 描述对 Ingest Actions file system 目标的官方支持 将数据路由到 NFS 或本地文件系…

使用finallshell连接linux

用户可以去FinalShell的官网上下载,只需点击下载地址,即可轻松下载安装包。 傻瓜式安装点击到底。 使用 双击打开页面,新建连接右击连接,新建》ssh 连接,双击新建的连接,如下界面即连接成功。新建文件夹,右键新建文件夹。新建文件,在文件夹右键新建文件。 命令在命令区…

MQTT原理及案例

MQTT 协议是当今世界上最受欢迎的物联网协议,没有之一。MQTT 协议为设备提供了稳定、可靠、简单易用的通信基础,截至目前通过 MQTT 协议连接的设备已经过亿,广泛应用于 IoT、M2M 等领域。本篇将从最基础的知识开始,向您讲解 MQTT 协议的原理与应用。 目前 MQTT 主流版本有 …

IDEA 字节码工具 jclasslib bytecode viewer

IDEA 字节码工具 jclasslib bytecode viewer1. 下载安装首先我们在 IDEA 的插件市场中搜索 jclasslib bytecode viewer 和进行下载安装,安装过后根据 IDEA 版本的不同,可能需要重启才能使用。2. 使用下载安装过后,在我们的项目中,首先先将整个项目进行编译,编译的作用是将…

题解_P1525 [NOIP2010 提高组] 关押罪犯

目录[NOIP2010 提高组] 关押罪犯题目背景题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示题解思路分析程序实现 [NOIP2010 提高组] 关押罪犯 题目背景 NOIP2010 提高组 T3 题目描述 S 城现有两座监狱,一共关押着 \(N\) 名罪犯,编号分别为 \(1\sim N\)。他们之间的…

架构与思维:DNS在架构中的使用

1 介绍 DNS(Domain Name System,域名系统)是一种服务,它是域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址数串。 简单来说,DNS就是一个将我们输入的网址(比如www.baidu.com )转换成对应的IP地址(比如19…

python3 unittest+BeautifulReport单个进程输出多个测试报告

最近一个项目中需要由于输出的案例内容非常多(上万条),导致BeautifulReport输出的报告内容非常大(几百兆)。浏览器无法正常处理这么大的测试报告,就算打开了,也不方便阅读和处理,因此需要将报告分成多个输出。 经修改代码,发现单个进程内输出多个测试报告出现问题:第…

windows11解决visual c++6.0 打开提示不兼容弹窗问题

在Windows11系统中,打开Visual C++ 6.0 编辑器,会弹出不兼容弹窗,如图所示下面将给出解决办法,实测有效。 步骤1:重命名MSDEV.EXE文件 步骤2:修改“兼容模式”配置 步骤3:修改“目标”输入框内容 步骤4:重新启动软件人生如逆旅 我亦是行人

零基础快速上手STM32开发(手把手保姆级教程)

1 前言 作为一名嵌入式工程师,STM32 是必须要学习的一款单片机,同时这款单片机资料足够多,而且比较简单,非常适合初学者入门。 STM32 是一款由 STMicroelectronics 公司开发的 32 位微控制器,由于其强大的处理能力和广泛的应用领域,如嵌入式系统、物联网设备、机器人等,…