//問題:求一個(gè)長方形的周長和面積
創(chuàng)新互聯(lián)建站專注于昌圖企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,成都商城網(wǎng)站開發(fā)。昌圖網(wǎng)站建設(shè)公司,為昌圖等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
/*以面向過程的程序設(shè)計(jì)方式思考:
1.確定長方形的周長和面積的算法;
2.編寫兩個(gè)方法(函數(shù))分別計(jì)算長方形的周長和面積;
3.求周長的方法(函數(shù))和求面積的方法(函數(shù))需要兩個(gè)參數(shù),
分別是長方形的長和寬*/
//面向過程的程序設(shè)計(jì)代碼:
/*classRectangle
{
static
float
perimeter(float
length,floatwidth)
{
return
2*(length+width);
}
static
float
area(float
length,
float
width)
{
return
length*width;
}
public
static
void
main(String[]
args)
{
System.out.println("the
perimeter
is
="
+perimeter(3.123f,4.267f));
System.out.println("the
area
is="
+area(3.123f,4.267f));//使用f來表示浮點(diǎn)
}
}*/
/*以面向?qū)ο蟮某绦蛟O(shè)計(jì)方式思考:
1.一個(gè)長方形可以看成是一個(gè)長方形對象;
2.一個(gè)長方形對象有兩個(gè)狀態(tài)(長和寬)和兩個(gè)行為(求周長和面積)
3.將所有長方形的共性抽取出來,設(shè)計(jì)一個(gè)長方形的類
4.通過長方形對象的行為,就可以求出某個(gè)具體的長方形的周長和面積*/
//面向?qū)ο蟮某绦蛟O(shè)計(jì)代碼:
classRectangle
{
float
l,h;//有兩個(gè)狀態(tài),即兩個(gè)成員變量
float
perimeter()
{
return
2*(l+h);
}
float
area()
{
return
l*h;
}
public
static
void
main(String[]
args)
{
Rectangle
rect1=newRectangle();
Rectangle
rect2=newRectangle();
rect1.l=10.13f;
rect1.h=5.74f;
rect2.l=12.21f;
rect2.h=24.13f;
System.out.println("Theperimeter
is
="
+
rect1.perimeter());
System.out.println("The
area
is="
+
rect1.area());
System.out.println("Theperimeter
is
="
+
rect2.perimeter());
System.out.println("The
area
is="
+
rect2.area());
}
/*K:\Java\try\lesson3javacRectangle.java
K:\Java\try\lesson3java
Rectangle
The
perimeter
is
=31.74
The
area
is
=58.1462
The
perimeter
is
=72.68
The
area
is
=294.6273
*/
}
把 人 封裝成一個(gè)類Person,繼承這個(gè)類 變有了 人應(yīng)該有的屬性
把 家庭成員關(guān)系封裝一個(gè)類Family,繼承這個(gè)類有了家庭關(guān)系的屬性
把工作封裝成一個(gè)接口Jop,繼承這個(gè)接口實(shí)現(xiàn)了工作的方法
由于Person 和 Family 屬性都是固定的,即每個(gè)人的情況基本都一樣所以封裝成類
Jop 則是因?yàn)?每個(gè)人的工作不一樣,所有做成接口,究竟是什么樣的工作讓這個(gè)人來實(shí)現(xiàn)
這里Person 和 Family需要的屬性并不多,所以我統(tǒng)一將他們封裝了一個(gè)類 Person 實(shí)現(xiàn)代碼如下:
public?class?XiaoHong?extends?Person?implements?Jop?{
public?XiaoHong(String?name,?String?sex,?String?Father,?String?Mother,
String?Son)?{
super(name,?sex,?Father,?Mother,?Son);
//?TODO?Auto-generated?constructor?stub
}
public?static?void?main(String[]?args)?{
XiaoHong?xiaohong?=?new?XiaoHong("小紅","女","李雷",?"韓梅梅",?"討厭啦!人家還小!");
System.out.println(xiaohong);
xiaohong.work();
}
@Override
public?void?work()?{
System.out.println("我是一個(gè)高中生");
}
}
/********************************************************************************/
public?class?Person?{
private?String?name?=?"I?Don't?Know";
private?String?sex?=?"I?Don't?Know";
private?String?Father?=?"I?Don't?Know";
private?String?Mother?=?"I?Don't?Know";
private?String?Son?=?"I?Don't?Know";
public?Person(String?name,?String?sex,?String?myFather,?String?myMother,
String?mySon)?{
super();
this.name?=?name;
this.sex?=?sex;
this.Father?=?myFather;
this.Mother?=?myMother;
this.Son?=?mySon;
}
public?String?getName()?{
return?name;
}
public?String?getSex()?{
return?sex;
}
public?String?getMyFather()?{
return?Father;
}
public?String?getMyMother()?{
return?Mother;
}
public?String?getMySon()?{
return?Son;
}
@Override
public?String?toString()?{
return?"Person?[name="?+?name?+?",?sex="?+?sex?+?",?Father="
+?Father?+?",?Mother="?+?Mother?+?",?Son="?+?Son
+?"]";
}
}
/******************************************************************************/
public?interface?Jop?{
public?void?work();
}
import java.util.Scanner;
public class Demo
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
Point p1,p2;
System.out.println("請輸入第1個(gè)點(diǎn)的x、y坐標(biāo):");
p1=new Point(sc.nextDouble(),sc.nextDouble());
System.out.println("請輸入第2個(gè)點(diǎn)的x、y坐標(biāo):");
p2=new Point(sc.nextDouble(),sc.nextDouble());
System.out.println("點(diǎn)"+p1+"與點(diǎn)"+p2+"的距離是"+p1.distance(p2));
}
}
class Point
{
Point(double x,double y)
{
this.x=x;
this.y=y;
}
public String toString()
{
return "("+x+","+y+")";
}
double distance(Point p)
{
return Math.sqrt(Math.pow(this.x-p.x,2)+Math.pow(this.y-p.y,2));
}
private double x,y;
}
public class Person {
//(1) 設(shè)計(jì)一個(gè)類 人員,包含三個(gè)成員變量:姓名、年齡、性別。
private String name;
private int age;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
//(2) 設(shè)計(jì)員工和顧客兩個(gè)類為 人員類的子類,員工類包含一個(gè)成員變量:職稱級(jí)別;顧客包含一個(gè)成員變量:賬戶余額。
class worker extends Person{
private String Title_Level;
public String getTitle_Level() {
return Title_Level;
}
public void setTitle_Level(String title_Level) {
Title_Level = title_Level;
}
}
class Customer extends Person{
private int Account_balance;
public int getAccount_balance() {
return Account_balance;
}
public void setAccount_balance(int account_balance) {
Account_balance = account_balance;
}
}
//(3) 設(shè)計(jì)一個(gè)類 取款機(jī)包含兩個(gè)成員方法:取款,查詢賬戶。
interface ATM{
void Teller(Customer cus);
void Checkaccount(Customer cus);
}
//4) 實(shí)現(xiàn)取款機(jī)的取款方法,
//當(dāng)顧客來取錢但是賬戶余額不足時(shí)拋出異?!坝囝~不足”并顯示,
//無論取款是否發(fā)生異常,最終取款方法需要執(zhí)行“退卡”操作。
class ATMimpl implements ATM{
public void Checkaccount(Customer cus) {
}
public void Teller(Customer cus) {
}
}
網(wǎng)站欄目:java面向?qū)ο蟠a示例 java面向?qū)ο缶幊虒?shí)例
鏈接分享:http://jinyejixie.com/article0/dopeooo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站營銷、小程序開發(fā)、網(wǎng)站導(dǎo)航、微信小程序、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)