简单的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(); ...
随机推荐
- 绕过CDN查找网站真实ip
在渗透测试过程中,经常会碰到网站有CDN的情况.CDN即内容分发网络,主要解决因传输距离和不同运营商节点造成的网络速度性能低下的问题.说的简单点,就是一组在不同运营商之间的对接点上的高速缓存服务器,把 ...
- 5.IA-32寄存器
寄存器(Register)是CPU内部用来存放数据的一些小型存储区域,它与RAM(Random Access Memory,随机存储器.内存)略有不同.CPU访问(Access)RAM中的数据时要经过 ...
- CTFHub-easy_search
easy_search 玩了好些天,今天做道题找找状态,明天开始肝了 打开是一个登录框 用amdin/admin尝试了一下,提示登陆失败 这里肯定不会是暴力破解,我猜是sql注入,试了万能密码or 1 ...
- 想要测试Dubbo接口?测试的关键点在哪里?
Dubbo接口如何测试? 这个dubbo如何测试,dubbo接口测试什么玩意儿? RPC的有一个类型,叫Dubbo接口. 那这个接口如何测试?测试的关键点在哪里? 这个面试问题,我觉得大家可能就有 ...
- Pytorch_Part5_迭代训练
VisualPytorch beta发布了! 功能概述:通过可视化拖拽网络层方式搭建模型,可选择不同数据集.损失函数.优化器生成可运行pytorch代码 扩展功能:1. 模型搭建支持模块的嵌套:2. ...
- Java_集合之三
1.红黑树 1.1概述[理解] 红黑树的特点 平衡二叉B树 每一个节点可以是红或者黑 红黑树不是高度平衡的,它的平衡是通过"自己的红黑规则"进行实现的 红黑树的红黑规则有哪些 每一 ...
- 云服务器Apache+MySQL(远程连接)+PHP等环境安装2021.5.9号配置
云服务器Apache+MySQL(远程连接)+PHP等环境安装2021.5.9号配置 Linux版本:centos8.2 (其他版本提供适配) 安装方式:yum 今天使用centos8系统搭建了下云主 ...
- 神奇的不可见空格<200b>导致代码异常
故事是这样发生的,在做一个JSON对象转化的时候,出现了转化异常:刚开始还是以为是格式错误,后来一步步排除,才发现是不可见空格<200b>导致的解析异常 出现 使用Typora编写文字时, ...
- CentOS6.7系统文本安装-2020
CentOS6.7系统文本安装 [日期:2016-01-30] 来源:Linux社区 作者:endmoon [字体:大 中 小] 一.选择虚拟机软件 1)VMware Workstation ...
- Msf--永恒之蓝 ms17_010
|>>>中华人民共和国网络安全法<<<|警告:请勿用于非法用途,后果自负! 简介 一.概述 永恒之蓝是指2017年4月14日晚,黑客团体Shadow Brokers ...