简单的Java面向对象程序
上一篇随笔Java静态方法和实例方法的区别以及this的用法,老师看了以后说我还是面向过程的编程,不是面向对象的编程,经过修改以后,整了一个面向对象的出来:
/**
* 3 延续任务2, 定义表示圆形,三角形和梯形的类并在以上三个类中定义圆的半径,三角形的底和高,梯形的上底下底和高属性并设置set和get方法;
* 在Calculator中定义能够实现计算图形面积的方法,能够对给定的以上圆形,三角形和梯形实现计算面积功能并最终返回计算后的面积结果.
*/ package mission3; /**
* 定义一个圆形类,以及圆形的私有成员属性
*/
public class Circular {
private double r; //圆的半径
private double PI; //圆周率
private double circularArea; //圆的面积 //自动生成getter和setter方法
public double getR() {
return r;
} public void setR(double r) {
this.r = r;
} public double getPI() {
return PI;
} public void setPI(double PI) {
this.PI = PI;
} public double getCircularArea() {
return circularArea;
} public void setCircularArea(double circularArea) {
this.circularArea = circularArea;
}
}
/**
* 3 延续任务2, 定义表示圆形,三角形和梯形的类并在以上三个类中定义圆的半径,三角形的底和高,梯形的上底下底和高属性并设置set和get方法;
* 在Calculator中定义能够实现计算图形面积的方法,能够对给定的以上圆形,三角形和梯形实现计算面积功能并最终返回计算后的面积结果.
*/ package mission3; /**
* 定义一个三角形类,以及三角形的私有成员属性
*/
public class Triangle {
private double base; //三角形的底边长
private double high; //三角形的高
private double triangleArea; //三角形的面积 //自动生成getter和setter方法
public double getBase() {
return base;
} public void setBase(double base) {
this.base = base;
} public double getHigh() {
return high;
} public void setHigh(double high) {
this.high = high;
} public double getTriangleArea() {
return triangleArea;
} public void setTriangleArea(double triangleArea) {
this.triangleArea = triangleArea;
}
}
/**
* 3 延续任务2, 定义表示圆形,三角形和梯形的类并在以上三个类中定义圆的半径,三角形的底和高,梯形的上底下底和高属性并设置set和get方法;
* 在Calculator中定义能够实现计算图形面积的方法,能够对给定的以上圆形,三角形和梯形实现计算面积功能并最终返回计算后的面积结果.
*/ package mission3; /**
* 定义一个梯形类,以及梯形的私有成员属性
*/
public class Trapezoid {
private double topLength; //梯形上底边长
private double baseLength; //梯形下底边长
private double high; //梯形的高
private double trapezoidArea; //梯形的面积 //自动创建setter和getter方法
public double getTopLength() {
return topLength;
} public void setTopLength(double topLength) {
this.topLength = topLength;
} public double getBaseLength() {
return baseLength;
} public void setBaseLength(double baseLength) {
this.baseLength = baseLength;
} public double getHigh() {
return high;
} public void setHigh(double high) {
this.high = high;
} public double getTrapezoidArea() {
return trapezoidArea;
} public void setTrapezoidArea(double trapezoidArea) {
this.trapezoidArea = trapezoidArea;
}
}
/**
* 3 延续任务2, 定义表示圆形,三角形和梯形的类并在以上三个类中定义圆的半径,三角形的底和高,梯形的上底下底和高属性并设置set和get方法;
* 在Calculator中定义能够实现计算图形面积的方法,能够对给定的以上圆形,三角形和梯形实现计算面积功能并最终返回计算后的面积结果.
*/ package mission3; import java.util.Scanner; /**
* 定义一个计算类,专门用来存计算方法供主类调用
*/
public class Calculator {
//计算圆面积的方法
public void calculateArea(Circular circular){
//获取圆的对象的属性,计算出圆的面积属性赋给圆这个对象
circular.setCircularArea(circular.getR()*circular.getR()*circular.getPI());
} //计算三角形面积的方法
public void calculateArea(Triangle triangle){
//获取三角形对象的属性,计算出三角形的面积赋值给三角形对象
triangle.setTriangleArea(triangle.getBase()*triangle.getHigh()/2);
} //计算梯形的面积的方法
public void calculateArea(Trapezoid trapezoid){
//获取梯形对象的属性,计算出梯形的面积赋值给梯形对象
trapezoid.setTrapezoidArea((trapezoid.getTopLength()+trapezoid.getBaseLength())*trapezoid.getHigh()/2);
} }
/**
* 3 延续任务2, 定义表示圆形,三角形和梯形的类并在以上三个类中定义圆的半径,三角形的底和高,梯形的上底下底和高属性并设置set和get方法;
* 在Calculator中定义能够实现计算图形面积的方法,能够对给定的以上圆形,三角形和梯形实现计算面积功能并最终返回计算后的面积结果.
*/ package mission3; public class Test {
public static void main(String[] args) {
//new一个圆的类
Circular cir = new Circular();
//给圆的属性赋值
cir.setR(50);
cir.setPI(Math.PI); //new一个计算类
Calculator cal = new Calculator();
//调用计算类进行计算
cal.calculateArea(cir);
//输出圆的属性
System.out.println("半径为"+cir.getR()+",圆周率为"+cir.getPI()+"情况下的圆的面积是:"+cir.getCircularArea()); //new一个三角形的类
Triangle tri = new Triangle();
//给三角形的属性赋值
tri.setBase(20);
tri.setHigh(30);
//调用计算类进行计算
cal.calculateArea(tri);
//输出三角形的属性
System.out.println("底边长为"+tri.getBase()+",高为"+tri.getHigh()+"的三角形面积是:"+tri.getTriangleArea()); //new一个梯形的类
Trapezoid tra = new Trapezoid();
//给梯形的属性赋值
tra.setBaseLength(20);
tra.setTopLength(30);
tra.setHigh(20);
//调用计算类进行计算
cal.calculateArea(tra);
//输出梯形的属性
System.out.println(
"上底边长为"+tra.getTopLength()
+",下底边长为"+tra.getBaseLength()
+",高为"+tra.getHigh()
+"的梯形面积是"+tra.getTrapezoidArea());
}
}
简单的Java面向对象程序的更多相关文章
- 简单的java采集程序二
继[简单的java采集程序],这里将完成对整个网站的号码段的采集任务. [使用预编译+批处理采集网页内容至数据库表中] 在之前我们用statement类来创建sql语句的执行对象,以 ...
- 【Java】一个简单的Java应用程序
简单记录,Java 核心技术卷I 基础知识(原书第10 版) 一个简单的Java应用程序"Hello, World!" Hello, World! Goodbye,World! 一 ...
- 一个简单的Java应用程序
目录 一个简单的Java应用程序 首次运行结果 程序示例 运行结果 修改大小写之后的运行结果 程序示例 运行结果 关键字public 关键字class 类名及其命名规则 类名必须以字母开头 不能使用J ...
- 3.1 一个简单的Java应用程序
如下一个最简单的应用程序,它将只发送一条消息到控制台窗口中: package myjavapp; public class FirstSample { public stati ...
- Java:一个简单的Java应用程序
/** * 这是文档注释 * @version * @author */ /* 这之间的内容也是注释 */ //这是行注释 public class FirstSample { public st ...
- 2015.11.27初识java一集简单的java小程序
JAVA配置环境变量方法: 1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME变量值:D:\Java\jdk1.7.0_ ...
- 第一章开发简单的Java应用程序
1.什么是程序? 程序一词来源于生活,通俗点讲就是把生活的的事用程序编写出来 并执行. 2.为什么要学习Java呢? Java是Sun Microsystems于1995年推出的高级编程语言 Java ...
- 使用spring框架创建最简单的java web程序(IDEA商业版)
项目目录如下(IDEA社区版好像无法识别webapp目录?原因见https://www.cnblogs.com/bityinjd/p/9284378.html): 工具: IDEA 1.首先使用ma ...
- 编写一个简单的java服务器程序
import java.net.*;import java.io.*; public class server{ ); //监听在80端口 Socket sock = server.accept(); ...
随机推荐
- [CTF]Rabbit加密
[CTF]Rabbit加密 --------------------- 作者:adversity` 来源:CSDN 原文:https://blog.csdn.net/qq_40836553/ar ...
- 【axios】get/post请求params/data传参总结
axios中get/post请求方式 1. 前言 最近突然发现post请求可以使用params方式传值,然后想总结一下其中的用法. 2.1 分类 get请求中没有data传值方式 2.2 get请求 ...
- GUI简单实战——贪吃蛇
将前面学到的GUI基础知识完成实战,完成一个简单的贪吃蛇项目 项目功能 用键盘上下左右实现贪吃蛇的自动移动 贪吃蛇吃到食物后,长度加一,分数加一 贪吃蛇吃到自己的身体,则游戏结束 按空格键实现游戏的暂 ...
- intellij idea的Maven项目运行报程序包找不到的错误
概括一句话:IDEA的Terminal命令行输入mvn idea:idea或者mvn idea:module , 即可解决 重做过开发环境后在intellij idea中载入java工程,通过mave ...
- 5分钟,教你用Python每天跟女朋友说1000遍土味情话!
- 分布式ID
需求 全局唯一 高性能 高可用 简单易用 UUID 优点: 唯一 不依赖于任何第三方服务 缺点: 是字符串类型而非数字,不满足数字ID的需求 字符串太长了,DB查询效率受影响 数据库自增ID 如果使用 ...
- ecl函数的用法
相关函数 fork, execle, execlp, execv, execve, execvp Windows下头文件 #include <process.h> Linux下头文件 #i ...
- Java项目中每一个类都可以有一个main方法
Java项目中每一个类都可以有一个main方法,但只有一个main方法会被执行,其他main方法可以对类进行单元测试. public class StaticTest { public static ...
- [刷题] PTA 7-61 找最长的字符串
程序: 1 #include<stdio.h> 2 #include<string.h> 3 #define N 81 4 5 int main() { 6 char ch[N ...
- 详解Linux中的cat文本输出命令用法
作系统 > LINUX > 详解Linux中的cat文本输出命令用法 Linux命令手册 发布时间:2016-01-14 14:14:35 作者:张映 我要评论 这篇 ...