欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JAVA面向?qū)ο笤O(shè)計(jì)寵物類方式

 更新時(shí)間:2024年10月12日 09:32:42   作者:箱子man  
本指南涉及JAVA面向?qū)ο蟮膶櫸镱愒O(shè)計(jì),包括寵物類的父類及其子類小貓類和小狗類,用戶可以選擇養(yǎng)貓或養(yǎng)狗,給寵物起名字,實(shí)現(xiàn)喂食互動(dòng),同時(shí)寵物具有飽食度和快樂度屬性,適合初學(xué)者學(xué)習(xí)面向?qū)ο笤O(shè)計(jì)

JAVA面向?qū)ο笤O(shè)計(jì)寵物類

需求:

設(shè)計(jì)寵物類,用戶可以自由選擇養(yǎng)貓還是養(yǎng)狗,可以給寵物起名字,還可以實(shí)現(xiàn)喂食互動(dòng)的功能,寵物需要有飽食度和快樂度。

寵物類【父類】

package cn.cxy.exec;
public class Pet {
    String name;
    int full;
    int happy;
    public Pet(String name) {
        this(name, 50, 50);
    }
    public Pet(String name,int full,int happy) { 
        this.name = name;
        this.full = full;
        this.happy = happy;
    }
    public void feed() {//寵物的喂食方法
        if(full == 100) {
            System.out.println(name+"已經(jīng)吃飽了");
            return;
        }
        System.out.println("給"+name+"喂食");
        full += 10;
        System.out.println("飽食度:"+full);
    }
    public void play() {//寵物的互動(dòng)玩耍方法
        if(full == 0) {
            System.out.println(name+"已經(jīng)餓得玩不動(dòng)了");
            return;
        }
        System.out.println("陪"+name+"玩耍");
        happy += 10;
        full -= 10;
        System.out.println("快樂度:"+happy);
        System.out.println("飽食度:"+full);
    }
    public void punish() {//寵物的懲罰方法
        //子類不同的代碼,改成調(diào)方法
        System.out.println(
                "打"+name+"的pp,"+name+"哭叫:"+cry());
        happy -= 10;
        System.out.println("快樂度:"+happy);
    }
    public String cry() {//小動(dòng)物被打哭了
        //無意義代碼
        //cry()方法需要在子類中重寫,返回具體哭叫聲
        return "此處有哭叫聲";
    }
}

小貓類【子類】

package cn.cxy.exec;
public class Cat extends Pet{
    public Cat(String name, int full, int happy) {
        super(name, full, happy);
    }
    public Cat(String name) {
        super(name);
    }
    @Override
    public String cry() {
        return "喵~";
    }
}

小狗類【子類】

package cn.cxy.exec;
public class Dog extends Pet {
    public Dog(String name, int full, int happy) {
        super(name, full, happy);
    }
    public Dog(String name) {
        super(name);
    }
    @Override
    public String cry() {
        return "汪~";
    }
}

測試類

package cn.cxy.exec;
 
import java.util.Random;
import java.util.Scanner;
 
public class TestPet {
    public static void main(String[] args) {
        System.out.println("1. 狗");
        System.out.println("2. 貓");
        System.out.print("選擇:> ");
        int c = new Scanner(System.in).nextInt();
        System.out.print("給寵物起個(gè)名字:");
        String n = new Scanner(System.in).nextLine();
        //定義貓狗變量
        Dog dog = null;
        Cat cat = null;
        if(c == 1) {
            dog = new Dog(n);
            play(dog);
        } else {
            cat = new Cat(n);
            play(cat);
        }
    }
    private static void play(Dog dog) {
        System.out.println("按回車執(zhí)行");
        while(true) {
            new Scanner(System.in).nextLine();
            int r = new Random().nextInt(6);
            switch(r) {
            case 0: dog.feed(); break;
            case 1: dog.play(); break;
            default: dog.punish(); break;
            }
        }
    }
    private static void play(Cat cat) {
        System.out.println("按回車執(zhí)行");
        while(true) {
            new Scanner(System.in).nextLine();
            int r = new Random().nextInt(6);
            switch(r) {
            case 0: cat.feed(); break;
            case 1: cat.play(); break;
            default: cat.punish(); break;
            }
        }
    }
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java實(shí)現(xiàn)超大Excel文件解析(XSSF,SXSSF,easyExcel)

    Java實(shí)現(xiàn)超大Excel文件解析(XSSF,SXSSF,easyExcel)

    這篇文章主要為大家詳細(xì)介紹了如何利用Java語言實(shí)現(xiàn)超大Excel文件解析(XSSF,SXSSF,easyExcel)以及速度的對(duì)比,感興趣的可以了解一下
    2022-07-07
  • SpringBoot中操作Bean的生命周期的方法總結(jié)

    SpringBoot中操作Bean的生命周期的方法總結(jié)

    在SpringBoot應(yīng)用中,管理和操作Bean的生命周期是一項(xiàng)關(guān)鍵的任務(wù),這不僅涉及到如何創(chuàng)建和銷毀Bean,還包括如何在應(yīng)用的生命周期中對(duì)Bean進(jìn)行精細(xì)控制,本文給大家總結(jié)了SpringBoot中操作Bean的生命周期的方法,需要的朋友可以參考下
    2023-12-12
  • Java中的clone()和Cloneable接口實(shí)例

    Java中的clone()和Cloneable接口實(shí)例

    這篇文章主要介紹了Java中的clone()和Cloneable接口實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java中Maven項(xiàng)目導(dǎo)出jar包配置的示例代碼

    Java中Maven項(xiàng)目導(dǎo)出jar包配置的示例代碼

    這篇文章主要介紹了Java中Maven項(xiàng)目導(dǎo)出jar包配置的示例代碼,需要的朋友可以參考下
    2018-11-11
  • Spring?Boot?實(shí)現(xiàn)?WebSocket?的代碼示例

    Spring?Boot?實(shí)現(xiàn)?WebSocket?的代碼示例

    WebSocket?協(xié)議是獨(dú)立的基于?TCP?協(xié)議。它與?HTTP?的唯一關(guān)系是,它的握手會(huì)被?HTTP?服務(wù)器解釋為?Upgrade?請(qǐng)求,接下來通過本文給大家介紹Spring?Boot?實(shí)現(xiàn)?WebSocket?示例詳解,需要的朋友可以參考下
    2022-04-04
  • 使用Java代碼實(shí)現(xiàn)RocketMQ的生產(chǎn)與消費(fèi)消息

    使用Java代碼實(shí)現(xiàn)RocketMQ的生產(chǎn)與消費(fèi)消息

    這篇文章介紹一下其他的小組件以及使用Java代碼實(shí)現(xiàn)生產(chǎn)者對(duì)消息的生成,消費(fèi)者消費(fèi)消息等知識(shí)點(diǎn),并通過代碼示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-07-07
  • Spring的@Lazy懶加載注解用法詳細(xì)解析

    Spring的@Lazy懶加載注解用法詳細(xì)解析

    這篇文章主要介紹了Spring的@Lazy懶加載注解用法詳細(xì)解析,SpringIoC容器會(huì)在啟動(dòng)的時(shí)候?qū)嵗袉螌?shí)例 bean ,如果我們想要實(shí)現(xiàn) Spring 在啟動(dòng)的時(shí)候延遲加載 bean,即在首次調(diào)用bean的時(shí)候再去執(zhí)行初始化,就可以使用 @Lazy 注解來解決這個(gè)問題,需要的朋友可以參考下
    2023-11-11
  • 電腦上安裝多個(gè)JDK版本時(shí)該如何自由切換(詳細(xì)圖文)

    電腦上安裝多個(gè)JDK版本時(shí)該如何自由切換(詳細(xì)圖文)

    我們?cè)趯W(xué)習(xí)的過程中經(jīng)常用到不同的jdk版本,那么如何在一臺(tái)電腦上同時(shí)安裝多個(gè)jdk版本并進(jìn)行切換呢,這篇文章主要給大家介紹了關(guān)于電腦上安裝多個(gè)JDK版本時(shí)該如何自由切換的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • IDEA感覺不香了AI智能編程工具Cursor使用圖文教程

    IDEA感覺不香了AI智能編程工具Cursor使用圖文教程

    這篇文章主要介紹了IDEA感覺不香了AI智能編程工具Cursor使用,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • ShardingSphere JDBC強(qiáng)制路由使用的項(xiàng)目實(shí)踐

    ShardingSphere JDBC強(qiáng)制路由使用的項(xiàng)目實(shí)踐

    在某些特定場景下,可能需要繞過分片規(guī)則直接定位到特定的數(shù)據(jù)庫或表,這種情況下就可以使用HintRouting,本文就來介紹一下ShardingSphere JDBC強(qiáng)制路由使用的項(xiàng)目實(shí)踐,感興趣的可以了解一下
    2024-06-06

最新評(píng)論