java面向对象复习之一
目的:
复习如何实现代码的逻辑思路;
复习类的封装;
复习类和对象的创建使用和封装;
练习:
实现功能:人到超市买东西 抽出三个类: 人 超市 东西; 功能点: 买; 它们之间的联系:东西包含于超市 , 东西可以考虑用数组来表示; 把类这个模型建立起来:人 超市 东西; 具体实现:
package exercise1; public class Product {
private String ProductName; public String getProductName() {
return ProductName;
} public void setProductName(String productName) {
this.ProductName = productName;
} }
package exercise1; public class Market {
private String marketName;
private Product[] productArr; public String getMarketName() {
return marketName;
} public void setMarketName(String marketName) {
this.marketName = marketName;
} public Product[] getProduct() {
return productArr;
} public void setProduct(Product[] product) {
this.productArr = product;
} Product sell(String name){
for (int i=0;i<productArr.length;i++){
if (productArr[i].getProductName()==name){
return productArr[i];
}
}
return null;
}
}
package exercise1; public class Person {
private String name; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} //购物,指定去哪个超市,商品名
//调用超市的卖货方法
Product shopping(Market market,String name){
return market.sell(name);
}
}
package exercise1;
//购买,给前面的类的具体对象属性赋值,并调用相关方法;
public class Shopping {
public static void main(String[] args) {
//创建商品对象,给名字赋值
Product p1=new Product();
Product p2=new Product();
Product p3=new Product();
Product p4=new Product();
Product p5=new Product();
p1.setProductName("苹果"); //为什么没有main这个方法这行会报错??? 因为方法的调用,必须要放到代码块或方法中;
p2.setProductName("梨子");
p3.setProductName("洗衣粉");
p4.setProductName("香皂");
p5.setProductName("扫帚"); //创建超市对象,给超市名字赋值,给仓库赋值
Market m=new Market();
m.setMarketName("家家乐超市");
m.setProduct(new Product[]{p1,p2,p3,p4,p5}); //调用购物方法,指定超市和商品名,得到购物结果
Person p=new Person();
p.setName("靖路");
Product result=p.shopping(m, "苹果"); //根据结果进行判断
if (result==null){
System.out.println("对不起,我们超市没有该商品!");
}else{
System.out.println(p.getName()+"在"+m.getMarketName()+"买了"+result.getProductName());
//靖路在家家乐超市买了exercise1.Product@1b6d3586 为什么不能是result?而是乱码? 是不是result是一个商品对象
//而不是商品名?
} } }
java面向对象复习之一的更多相关文章
- 简单登录注册实现(Java面向对象复习)
简单登录注册的实现(面向对象的复习) 需求: 设计用户类,包含用户名和密码两个属性 设计LoginDemo类设计用户登录方法 用户有三次登录机会,如果连续三次登录失败则退出程序 功能实现页面: ...
- JAVA面向对象复习
对象:真实存在的唯一的事物. 类: 同一种类型的事物公共属性与公共行为的抽取. java面向对象语言: 核心思想: 找适合的对象做适合的事情. 找对象的方式: 方式一: sun已经定义好了很多了类,我 ...
- Java项目实例之---学生选课(面向对象复习)
学生选课(面向对象复习) 设计一个学生选课的程序,分别有学生类(Student)和课程类(Course) 学生类的属性有:学号(String),姓名(String),性别(char),所选科目(Cou ...
- Java项目案例之---计算公司员工的工资(面向对象复习)
计算公司员工的工资(面向对象复习) 某公司的雇员分为以下若干类: Employee:这是所有员工总的父类,属性:员工的姓名,员工的生日月份.方法:double getSalary(int month) ...
- Java项目案例之---开灯(面向对象复习)
开灯(面向对象复习) 设计一个台灯类(Lamp)其中台灯有灯泡类(Buble)这个属性,还有开灯(on)这个方法 设计一个灯泡类(Buble),灯泡类有发亮的方法 其中有红灯泡类(RedBuble)和 ...
- Java面向对象编程基础
一.Java面向对象编程基础 1.什么是对象?Object 什么都是对象! 只要是客观存在的具体事物,都是对象(汽车.小强.事件.任务.按钮.字体) 2.为什么需要面向对象? 面向对象能够像分析现实生 ...
- 20165220实验二《Java面向对象程序设计》
实验封面: 实验二 面向对象程序设计-1 实验要求: 参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTEST 参考http://www. ...
- 2017-2018-2 20165207实验二《Java面向对象程序设计》实验报告
2017-2018-2 20165207实验二<Java面向对象程序设计>实验报告 课程:Java程序设计 班级:1652 姓名:李天林 学号:20165207 实验日期:2018年4月1 ...
- 20162304 实验二《Java面向对象程序设计》实验报告
20162304 实验二<Java面向对象程序设计>实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 ...
随机推荐
- Matlab——图形绘制——三维立体图形 剔透玲珑球 动态图——彗星状轨迹图
三维绘图函数 三维绘制工具 函数view 实例:三维螺旋线 >> t=:pi/:*pi; plot3(sin(t),cos(t),t) grid %添加网格 plot3可以画出空间中的曲 ...
- LeetCode算法题-Peak Index in a Mountain Array(Java实现)
这是悦乐书的第329次更新,第352篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第199题(顺位题号是852).如果以下属性成立,我们将数组A称为山: A.length ...
- Sklearn评估器选择
- Nginx代理自动上线下线
Nginx基于连接探测,如果发现后端异常,在单位周期为fail_timeout设置的时间,中达到max_fails次数,这个周期次数内,如果后端同一个节点不可用,那么接将把节点标记为不可用,并等待下一 ...
- SpringBoot中定时任务默认是串行执行 如何设置并行
SpringBoot项目中,定时任务默认是串行执行的,不论启动多少任务,都是一个执行完成,再执行下一个. 如何设置并行呢? @EnableAsync 和@Async 这两个注解来实现 ,具体如下: ...
- go io库
1 io.Reader和io.Writer的获取 tcp协议下的io.Reader是从conn中获取到的,因为要先建立conn,conn建立成功之后,然后读写数据. 2 真正的读写 2.1 io.Co ...
- 浅拷贝&深拷贝
浅拷贝新的对象指向原来对象的地址 深拷贝新的对象中,原来是可变对象,会新复制一份值指向新的地址[11,22,33]若原来的对象里含有可变对象,里面的这个可变对象也会指向新的地址['qwer', 123 ...
- linux上执行mysql的脚本文件
我们测试过程中,经常需要执行升级脚本或导入生产测试数据,对于轻量的升级脚本可以直接在客户端工具中打开执行,但是对于文件内容比较大的.sql文件,比如几百M,几G的sql文件,直接拖到客户端工具打开执行 ...
- express 实现我猜你喜欢功能
工具:利用cookie-parser中间件; 原理: 每次访问某一具体的文章,就表明可能客户端对这类文章感兴趣, 将这类文章的标签添加到cookie里,字段是like; 然后退回到含有 我猜你喜欢模块 ...
- P3984高兴的津津
这道题的标签是并查集,但其实是一个并查集思想的模拟题. 被算法标签迷惑了,一直在想怎么存f[],然后怎么查找,但发现其实很难去做.然后就发现其实就是做一个选择就可以了:拿AU的第i次包含在i-1次里, ...