【Java】面向过程和面向对象思想||对象和类

1.面向过程和面向对象思想

        两者都贯穿于软件分析设计开发的各个阶段,对应面向对象就分别称为面向对象的分析OOA)、面向对象的设计OOD)和面向对象的编程OOP)。C语言是一种典型的面向过程语言,Java是一种典型的面向对象的编程语言。

        OOP本质:以类的方式组织代码,以对象的形式组织(封装)数据。

        面向对象可以帮助人们从宏观上把握,从整体上分析整个系统。但是,具体到部分微观操作的(就是一个个方法)实现,仍然需要面向过程的思路去处理。

        千万不要把面向过程和面向对象方法对立起来,他们是相辅相成的。面向对象的方法最终离不开面向过程的。

注意


        面向对象的思想具有三大特征,即封装性继承性多态性有了封装才能继承,有了继承才能多态。面向过程的思想没有继承性和多态性。并且,面向过程的封装只是封装功能,而面向对象可以封装数据和功能。


总结


  • 对象也是一种数据结构(对数据的管理模式),是将数据和数据的行为放到了一起。
  • 在内存上,对象就是一个内存块,存放了相关的数据集合。
  • 对象的本质就是一种数据的组织方式。

2.对象和类

总结


  • 从认识论角度考虑,先有对象后有类。
  • 对象是具体的事物;类是对对象的抽象。
  • 从代码运行角度,类可以看成是一类对象的模板,对象可以看成该类的一个具体实例。
  • 类是用于描述同一类型对象的一个抽象概念,类中定义了这一类对象所应具有的共同属性和方法。

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

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

相关文章

【计算机视觉|人脸建模】PanoHead:360度几何感知的3D全头合成

本系列博文为深度学习/计算机视觉论文笔记,转载请注明出处 标题:PanoHead: Geometry-Aware 3D Full-Head Synthesis in 360 ∘ ^{\circ} ∘ 链接:[2303.13071] PanoHead: Geometry-Aware 3D Full-Head Synthesis in 360 ∘ ^{\circ} ∘ (arx…

python reportlab生成pdf

这里自定义了pagetemplate,使用BaseDocTemplate,但我感觉一般使用SimpleDocTemplate就可以。 from reportlab.platypus import Frame from reportlab.lib.pagesizes import A4, landscapepadding dict(leftPadding72,rightPadding72,topPadding72,bott…

Java面经整理(2)

一)为什么要使用克隆? 实现原型设计模式,实现备份和恢复 假设此时这个系统是支持用户进行配置的,是支持用户设置皮肤的颜色,设置系统的快捷键,此时就需要使用原型设计模式,不能自己设置把别人的设置都给改了&#xff…

大数据Doris(三):Doris编译部署篇

文章目录 Doris编译部署篇 一、Doris编译

学信息系统项目管理师第4版系列13_立项管理

1. 项目立项管理包括 1.1. 项目建议与立项申请 1.2. 项目可行性研究 1.2.1. 初步可行性研究 1.2.2. 详细可行性研究 1.2.2.1. 不可缺少 1.2.2.1.1. 【高21上选21】 1.2.3. 可以依据项目的规模和繁简程度合二为一 1.3. 项目评估与决策 2. 立项申请 2.1. 项目建议书 2…

rust学习-Arc

背景介绍 线程安全的引用计数指针。 “Arc”代表“原子引用计数 Atomically Reference Counted”。 Arc 类型提供在堆中分配的 T 类型值的共享所有权(shared ownership)。在 Arc 上调用克隆会生成一个新的 Arc 实例,该实例指向堆上与源 Arc 相同的分配,同时增加引用计数。…

Lua语法之简单变量

--nil有点类似空null a nil print(a) --type函数得到类型 返回值是string print(type(a)) print("*****")--number是数值 int float这些 --lua的变量可以随便赋值 自动识别类型 a 1 print(a) print(type(a)) print("*****")--siting可以用单引号双引号 a…

LeetCode 面试题 08.01. 三步问题

文章目录 一、题目二、Java 题解 一、题目 三步问题。有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。实现一种方法,计算小孩有多少种上楼梯的方式。结果可能很大,你需要对结果模1000000007。 示例1: 输入&…

华为云HECS云服务器docker环境下安装nginx

前提:有一台华为云服务器。 华为云HECS云服务器,安装docker环境,查看如下文章。 华为云HECS安装docker-CSDN博客 一、拉取镜像 下载最新版Nginx镜像 (其实此命令就等同于 : docker pull nginx:latest ) docker pull nginx查看镜像 dock…

凉鞋的 Unity 笔记 001. 概述

001. 概述 大家好,我是凉鞋。 在笔者 8 年的技术生涯中,笔者学习并使用了很多技术,这些技术接触顺序如下 javaandroidiOScocos2d/xUnitynodejspython/django.net corereactGameMaker StudioGodot 而越是接触更多的技术,越是会…

PMIC介绍

PMIC电源管理芯片

实体行业数字化转型怎么做?线上线下相结合的新零售体系怎么做?

如今,实体行业想要取得收入增长,只做线下业务或者只做线上业务,在当前的市场环境中是难以长久生存的,因此一定要线上线下相结合,将流量运作与线下转化进行充分结合,才能更好地发挥实体优势,带来…

Linux学习记录——삼십일 socket编程---TCP套接字

文章目录 TCP套接字简单通信1、服务端1、基本框架2、获取连接 2、客户端3、多进程4、多线程5、线程池6、简单的日志系统7、守护进程8、其它 TCP套接字简单通信 本篇gitee 学习完udp套接字通信后,再来看TCP套接字。 四个文件tcp_server.hpp, tcp_serve…

什么是Local Storage和Session Storage?它们之间有什么区别?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 什么是 Local Storage 和 Session Storage?Local Storage(本地存储)Session Storage(会话存储) ⭐ 区别⭐ 示例⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的…

程序员的浪漫:如何用java代码画❤️表白呢?

有位小伙伴说,看到一个帖子,一个计算机博士接亲时,要求现场写代码,5分钟做出一个爱心。我们就看看如何用java设计出心形的代码。 我找了一下,发现方法竟然很多,我们就来见识一下,最后我们看一下…

python经典百题之画一个最优美的图案

创建一个最优美的图案是一个主观性很强的任务,因为美感取决于个人品味和审美观点。在这里,我将提供三种不同方法来绘制图案,但最终的美感取决于观者的个人喜好。 程序分析 我们的目标是通过编写Python程序绘制一个美观的图案。我们将尝试三…

TouchGFX之字体缓存

使用二进制字体需要将整个字体加载到存储器。 在某些情况下,如果字体很大,如大字号中文字体,则这样做可能不可取。 字体缓存使应用能够从外部存储器只能加载显示字符串所需的字母。 这意味着整个字体无需保存到在可寻址闪存或RAM上&#xff…

Openresty通过Lua+Redis 实现动态封禁IP

求背景 为了封禁某些爬虫或者恶意用户对服务器的请求,我们需要建立一个动态的 IP 黑名单。对于黑名单之内的 IP ,拒绝提供服务。并且可以设置失效 1.安装Openresty(编译安装) wget https://openresty.org/download/openresty-1.…

SQL SELECT 语句进阶

之前探讨了SQL SELECT 语句的基础内容,包括语法、字段选择、记录限制和数据源指定。今天将进一步深入,探讨多表连接、过滤结果集和逻辑运算等高级主题,还有LIKE 模糊查询、ORDER BY 对结果集排序、运用聚合函数汇总结果以及 GROUP BY 子句与相关应用。 本文将继续使用《三国…

Java自学(三)面向对象编程

目录 什么是面向对象 举例 this关键字和构造器 实体类 电影小案例 什么是面向对象 我们日常生活中谈到一个事物,总会描述它的性质与行为,这个事物也就是 ”对象”。比如一个学生对象,他的属性有姓名、学号、成绩......他的行为有上课、…