Java小白进阶笔记(3)-初级面向对象

摘要: 继续学习: 4.偏头痛杨的Java入门教学系列之初级面向对象篇

继续学习:
4.偏头痛杨的Java入门教学系列之初级面向对象篇 
分割线中为原文的摘录:


面向过程编程&面向对象编程

从面向过程到面向对象,不仅仅是编程方式的改变,更重要的是思维方式的改变

面向过程编程

按照顺序执行的一系列指令,通常是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,最后一个一个依次调用函数来解决。

面向对象编程

从不同的角度来看待计算机程序,它注重的是计算机所完成的任务,而非处理方式
从现实世界中客观存在的事物出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式来思考问题,把问题中的事物分解为为系统中的对象,给对象赋予相应的属性和行为,通过多个对象的相互协调来解决问题,对象是系统的基本构成单位

传统的C语言属于面向过程编程,Java语言属于面向对象编程。

ATM取款机程序的例子

面向过程编程

  1. 输入密码,系统判断是否正确,如正确,进入取款界面,如错误,提示重新输入。
  2. 进入取款界面,输入取款金额,系统判断余额是否足够,如不足,提示;如足够,点钞。
  3. 吐出钞票,打印票据。

面向对象编程
根据要解决的问题,可以抽象出如下对象:客户、银行卡、现金、票据等。
这些对象没有先后顺序,共同作用才构成了整个系统。
我们只要用代码设计出这几个类型的对象,然后让他们互相通信、传递消息就可以完成系统功能。

猪八戒吃西瓜的例子

面向过程编程:吃(猪八戒,西瓜)
面向对象编程:猪八戒.吃(西瓜)

作业

创建一个人类,该类需要有定义
名字、体重、年龄三种属性(数据类型分别为:String,int,int),
还要定义吃饭、睡觉、打豆豆三种方法。
类中需要定义有参构造,需要通过有参构造把类中的三种属性初始化。

三种方法的规则

  1. 吃饭:需要传递参数,并输出"xxx在吃饭"
  2. 睡觉:通过前面的有参构造初始化,输出"xxx在睡觉",xxx为名字(对象的属性),方法不用定义形参。
  3. 打豆豆: 通过前面的有参构造初始化,需要返回给调用者"xxx的体重是a,年龄是b",并在调用处输出。

注意

  1. xxx、a、b均为动态的,不是写死在代码里的。
  2. 输出的写法为:System.out.println("你好哇,这里是作业demo示例哟~~~");

需要在main方法中实例化三个人类的对象,分别设置与输出三个属性(名字、体重、年龄),并调用三个方法,其中把打豆豆方法的返回值打印出来。


我的解答

ps:Java初学者,如果你是高手就不用看(xiao)了(hua)(ノへ ̄、)

package test;public class People {String name;int weight;int age;public People() {}public People(String name,int weight,int age) {this.name=name;this.weight=weight;this.age=age;}public void eat(String food) {System.out.println(name+"is eating"+food+"now !");}public void sleep() {System.out.println(name+"is sleeping now!");}public String hitdoudou() {return name+"的体重是"+weight+",年龄是"+age;}
}
package test;public class Test {public static void main(String[] args) {People p1 = new People("Jack",152,21);p1.eat("apple");p1.sleep();String hit = p1.hitdoudou();System.out.println(hit);}}

输出结果

Jackis eatingapplenow !
Jackis sleeping now!
Jack的体重是152,年龄是21

原文链接

本文为云栖社区原创内容,未经允许不得转载。


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

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

相关文章

鸿蒙 OS 的到来,能为我们改变什么?| 程序员大本营9月刊

作者 | 屠敏出品 | CSDN(ID:CSDNnews)「鸿蒙初辟原无姓,打破顽空需悟空」,在国产自研操作系统短缺的窘境之下,天惊一声雷,「鸿蒙」踏风来。回首上个月的技术圈,最值得业界浮称流说的…

vue 嵌套表格组件_使用form-create动态生成vue自定义组件和嵌套表单组件

使用form-create动态生成vue自定义组件和嵌套表单组件maker.create通过建立一个虚拟 DOM的方式生成自定义组件生成Makerlet rule [formCreate.maker.create(i-button).props({type:primary,field:btnloading:true})]$f formCreate.create(rule);上面的代码是通过maker生成器动…

注释那些事儿:前端代码质量系列文章(一)

摘要: 好的注释可以提高代码的可读性和可维护性,从而提高代码质量。那么什么是好的注释?如何写出好的注释?“Comment or not comment, that is the question”好的注释可以提高代码的可读性和可维护性,从而提高代码质量…

linux 给普通用户赋予最高权限

文章目录一、创建新用户二、给新用户设置密码三、赋予sudoers文件写的权限四、编辑sudoers文件五、删除sudoers文件写的权限一、创建新用户 useradd know二、给新用户设置密码 passwd know三、赋予sudoers文件写的权限 chmod uw /etc/sudoers四、编辑sudoers文件 vim /etc/…

php裁剪图片并上传源码,改写jcrop插件+php的图片上传实现与裁剪一体化

1.图片上传后立刻判断图片的宽和高是否超过预设的最大高度与宽度,超过了则生成缩略图,2.图片裁剪使用的是jquery的裁剪插件Jcrop,可以实现裁剪的即时预览,代码没有优化,会生成很多垃圾图片,欢迎大家一起改进&#xff0…

人工智能和机器学习的前世今生

摘要: 阅读本文以了解更多关于人工智能、机器学习和深度学习方面的知识,以及它们对商业化意味着什么。如果正确的利用模式识别进行商业预测和决策,那么会为企业带来巨大的利益。机器学习(ML)研究这些模式,并…

30 岁程序员生活图鉴,怎样算是活成了理想的模样?

戳蓝字“CSDN云计算”关注我们哦!文 | 年素清来源 | 程序人生第一批90后已近而立,相信他们中的每个人在年少的时候都曾经憧憬过长大后的图景:做医生当老师做大官,开飞机打怪兽赚大钱……程序员(媛)们自然也…

pythontuple([1、2、3)_Python 进阶之路 (三) Tuple元组使用指南

比List更安全的数据类型大家好,今天为大家介绍一种更为安全的Python内置数据类型:tuple(元组),以及它的基础用法元组是什么元组(tuple)是另一种有序的数据类型,与list比较类似。主要不同的一点是tuple被创建后就不能对其进行修改。所以&#…

linux 创建用户和修改新增用户默认的家目录

文章目录一、用户操作①创建新用户②给新用户设置密码③ 默认家目录二、修改默认家目录① 编辑passwd文件② 在下面找到新增的用户③ 把前面的目录(/home/gblfy)修改为(/app/gblfy)三、验证测试①切换用户②查看当前用户目录一、用户操作 ①创建新用户 useradd gblfy②给新用…

深度学习技巧与窍门

摘要: 本文是根据自身构建深度学习模型总结而来,适合有一定深度学习基础的读者阅读。本文是根据自身构建深度学习模型总结而来,可能读起来比较干巴,但干货确实不少。闲话少叙,直接进入相关内容。首先,为什么…

Python库大全(涵盖了Python应用的方方面面),建议收藏留用!

学Python,想必大家都是从爬虫开始的吧。毕竟网上类似的资源很丰富,开源项目也非常多。 Python学习网络爬虫主要分3个大的版块:抓取,分析,存储 当我们在浏览器中输入一个url后回车,后台会发生什么&#xff1…

java.io.IOException 权限不够

这几天修改了jenkins发布时启动java项目的用户。原先是root现在换成普通用户了,结果部署下来会报错 java.io.IOException: 权限不够 发现临时文件的创建目录是/tmp/poifiles,到服务器查看/tmp/poifiles这个文件的创建用户是root,java普通用户…

让我再撸一次HashMap

戳蓝字“CSDN云计算”关注我们哦!对于JAVA求职者来说,HashMap可谓是集合类的重中之重,甚至你在复习的时候,其他集合类都不用看,专攻HashMap即可。然而,鉴于网上大部分的关于HashMap的面试方向文章&#xff…

sklearn svm 调参_sklearn调参(验证曲线,可视化不同参数下交叉验证得分)

一 、 原始方法:思路:1. 参数从 0∞ 的一个 区间 取点, 方法如: np.logspace(-10, 0, 10) , np.logspace(-6, -1, 5)2. 循环调用cross_val_score计算得分。在SVM不同的惩罚参数C下的模型准确率。import matplotlib.pyp…

php json获取get请求,PHP简单的Curl的Get请求和Curl的Post请求和file_get_contents的Get请求获取接口JSON数据...

PHP携带Cookie用Curl进行Post或Get请求获取数据简单的curl请求(Get请求)function hansCurl($url){$url"https://www.yyob.com";$ip rand(0, 255) . . . rand(0, 255) . . . rand(0, 255) . . . rand(0, 255);$header[] "accept: application/json";$head…

聊聊代码整洁之道

摘要: Any fool can write code that a computer can understand. Good programmers write code that humans can understand. 普通的工程师堆砌代码,优秀的工程师优雅代码,卓越的工程师简化代码。Any fool can write code that a computer c…

负载均衡SLB新功能介绍

摘要: 随着网络的各个核心部分业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担。通过负载均衡扩展现有网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、…

架构师必备技能:教你画出一张合格的技术架构图

戳蓝字“CSDN云计算”关注我们哦!当我们想用一张或几张图来描述我们的系统时,是不是经常遇到以下情况:对着画布无从下手、删了又来?如何用一张图描述我的系统,并且让产品、运营、开发都能看明白?画了一半的…

ios键盘done中文_IOS_IOS关闭键盘的方法,首先输入完成后按键盘上的done - phpStudy...

IOS关闭键盘的方法首先输入完成后按键盘上的done关闭键盘首先在Interface Builder中选择TextFields,然后在Text Field Attributes中找到Text Input Traits,选择Return Key为done。OK定义方法- (IBAction) textFieldDoneEditing:(id)sender; //按下Don…

php 显示对像编码,PHP面向对象之旅:类型提示

PHP是弱类型语言,向方法传递参数时候也不太区分类型。这样的使用会引起很多的问题,PHP开发者认为,这些问题应该是由代码书写者在书写代码时进行检验以避免。没有类型提示很危险下面的代码可能会出现问题。class NormalUser{/** 其它相关代码.…