Java小白进阶笔记(3)-初级面向对象
摘要: 继续学习: 4.偏头痛杨的Java入门教学系列之初级面向对象篇
继续学习:
4.偏头痛杨的Java入门教学系列之初级面向对象篇
分割线中为原文的摘录:
面向过程编程&面向对象编程
从面向过程到面向对象,不仅仅是编程方式的改变,更重要的是思维方式的改变。
面向过程编程
按照顺序执行的一系列指令,通常是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,最后一个一个依次调用函数来解决。
面向对象编程
从不同的角度来看待计算机程序,它注重的是计算机所完成的任务,而非处理方式。
从现实世界中客观存在的事物出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式来思考问题,把问题中的事物分解为为系统中的对象,给对象赋予相应的属性和行为,通过多个对象的相互协调来解决问题,对象是系统的基本构成单位。
传统的C语言属于面向过程编程,Java语言属于面向对象编程。
ATM取款机程序的例子
面向过程编程:
- 输入密码,系统判断是否正确,如正确,进入取款界面,如错误,提示重新输入。
- 进入取款界面,输入取款金额,系统判断余额是否足够,如不足,提示;如足够,点钞。
- 吐出钞票,打印票据。
面向对象编程:
根据要解决的问题,可以抽象出如下对象:客户、银行卡、现金、票据等。
这些对象没有先后顺序,共同作用才构成了整个系统。
我们只要用代码设计出这几个类型的对象,然后让他们互相通信、传递消息就可以完成系统功能。
猪八戒吃西瓜的例子
面向过程编程:吃(猪八戒,西瓜)
面向对象编程:猪八戒.吃(西瓜)
作业
创建一个人类,该类需要有定义:
名字、体重、年龄三种属性(数据类型分别为:String,int,int),
还要定义吃饭、睡觉、打豆豆三种方法。
类中需要定义有参构造,需要通过有参构造把类中的三种属性初始化。
三种方法的规则:
- 吃饭:需要传递参数,并输出"xxx在吃饭"
- 睡觉:通过前面的有参构造初始化,输出"xxx在睡觉",xxx为名字(对象的属性),方法不用定义形参。
- 打豆豆: 通过前面的有参构造初始化,需要返回给调用者"xxx的体重是a,年龄是b",并在调用处输出。
注意:
- xxx、a、b均为动态的,不是写死在代码里的。
- 输出的写法为: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
原文链接
本文为云栖社区原创内容,未经允许不得转载。
Java小白进阶笔记(3)-初级面向对象相关推荐
- Java小白进阶笔记(5)-进阶面向对象
继续学习: 7.偏头痛杨的Java入门教学系列之进阶面向对象篇 上Java课的时候没弄明白接口,今天终于明白了(但没使用过,还停在理论的程度,可能理解也不准确,以后学通了会回来补充:)如果你刚学Jav ...
- Java小白进阶笔记(2)-变量和数据类型
摘要: 复习Java知识,主要是一边看**偏头痛杨**的博客,一边完成博主布置的任务.这是看[2.偏头痛杨的Java入门教学系列之变量&数据类型篇][1] 的作业 复习Java知识,主要是一边 ...
- Java小白进阶笔记(1)-重新认识Java
摘要: 这是偏头痛杨的第一篇原文链接,其中,在系列的第二篇开头作者布置了十道题,下面是我的回答(大多是作者的文章摘录) 重新开始学习Java了,这也是为了以后找工作考虑.热爱的机器学习就先放一放了,作 ...
- Java语言基础(Java自我进阶笔记二)
Java语言基础(Java自我进阶笔记二) 一. 什么是Java 的主类结构? 1. #mermaid-svg-xWTL2A8kDyyRPexH .label{font-family:'trebuch ...
- Java入门教程笔记07(面向对象基础)
目录 构造器(构造方法) 目的: 作用: 构造器的分类 注意事项 this关键字 案例 封装: 封装的实现步骤 案例 JavaBean(实体类) 标准JavaBean须满足如下要求: 成员变量和局部变 ...
- 泛型及其使用、Stream的方法(Java小白进阶day17)
泛型 java泛型设计原则:保证编译时不出错,运行时就不会出现ClassCastException 1.泛型类 在类上定义的泛型,在方法中也可使用 2.泛型接口 interface DemoInter ...
- Python小白学习笔记六 (面向对象 1 )
面向对象 Object Oriented 概述 面向过程 1.分析出解决问题的步骤,然后逐步实现. 例如:婚礼筹办 – 发请柬(选照片.措词.制作) – 宴席(场地.找厨师.准备桌椅餐具.计划菜品.购 ...
- 前端小白进阶笔记之多级菜单分享
css技术分享之二级.三级下拉菜单的制作: 首先看一下网页中的三级下拉菜单: 接下来自己动手试一试吧! 制作多级下拉菜单 在css中我们需要用到: hover选择器用于选择鼠标指针浮动在上面的元素 d ...
- Java基础到Java进阶——Java小白的历练之路------从0到1,开卷!
Java小白的历练之路------从0到1 title: Java Essay date: 2022-09-07 08:58:32 tags: Java notes 写在前面: 免责声明:本笔记来源自 ...
最新文章
- GPT-3到来,程序员会被AI取代吗?
- 量子纠缠为什么不能用于瞬时通讯?
- iOS从零开始学习直播之音频2.后台播放和在线播放
- map初始化_需要掌握的Go基础之map:文末附面试题一道
- 【译】表变量和临时表的比较
- 中石油训练赛 - Russian Dolls on the Christmas Tree(树上启发式合并/主席树)
- leetcode 559. N 叉树的最大深度(Java版,N叉树的深度优先搜索)
- C语言编译流程:预处理、编译、汇编、链接
- java运算符 —(5)
- matlab snr eb n0,snr ber Eb/N0之间的区别与联系
- date加一天php,PHP时间日期操作增减(date strtotime) 加一天 加一月
- 某程序员9点离岗被主管罚款200,写bug扣光主管年终奖?
- 统一建模语言UML轻松入门之用例
- mysql中sysdate函数转字符串_【转】MySQL:日期函数、时间函数总结(MySQL 5.X)
- 【测试基础】Linux文本编辑vi命令
- web前端仿网易云官网
- 解决戴尔笔记本电脑插上耳机没反应,要重启才能识别
- ffmpeg将mp4转为m4a,m4a转mp3,mp3转ogg
- 实时头发-面部皮肤分割与人脸肤色分类
- 6s信号时有有时无服务器,苹果iPhone6s信号弱或无服务解决方法
热门文章
- python设计模式免费_python 设计模式
- java icon动态变换,以编程方式自动更改ImageIcon [Java]
- 希捷银河声音大_每日观影之银河守门员( )
- 用java做一个截图工具_Java制作屏幕截图软件(还可以保存到剪切板内)
- 3 vue 线条箭头_线条眉要如何处理才能更自然?
- 中国首富们三十而立的年纪都在干什么
- docker建多个mysql_《容器化系列二》利用Docker容器化技术安装多个mysql
- 计算机网络-信道复用技术
- C语言之strstr函数
- Kafka JMX监控报错 Failed to get broker metrics for BrokerIdentity(128,192.168.2.128,9999,true,false,Map