PTA-6-44 水果接口-工廠設計模式

用工廠設計模式編寫程序代碼。已知有如下Fruit接口,請編寫其子類Apple類與Orange類,另外再編寫一個Factory工廠類,具體要求如下。

需要編寫Fruit接口的子類:

兩個子類Apple和Orange,實現接口Fruit,并覆寫eat()方法。

需要編寫工廠類Factory:

設計一個工廠類Factory,包含一個getInstance(String name)方法,此方法返回值為接口Fruit的子類實例對象。

已有的水果接口定義如下:

import java.util.Scanner;
interface Fruit{void eat();
}

已有的Main類定義:

/* 請在這里填寫答案 */public class Main{public static void main(String[] args) {String s;Scanner scan=new Scanner(System.in);    s=scan.next();Fruit f=Factory.getInstance(s);if(f==null)System.out.println("沒有此水果類型");else    f.eat();}
}

根據題目要求,代碼實現如下:

class Apple implements Fruit {@Overridepublic void eat() {System.out.println("吃蘋果啦啦啦!!");}
}class Orange implements Fruit {@Overridepublic void eat() {System.out.println("吃橘子啦啦啦!!");}
}class Factory {public static Fruit getInstance(String s) {if(s.equalsIgnoreCase("apple"))return new Apple();else if(s.equalsIgnoreCase("orange"))return new Orange();elsereturn null;}
}


以上就是?PTA-6-44 水果接口-工廠設計模式?的全部內容了,希望能對你有所幫助!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/161874.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/161874.shtml
英文地址,請注明出處:http://en.pswp.cn/news/161874.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

若依框架導出下載pdf/excel以及導入打印等

一、打印文件 // 報表打印 handlePdf(row) {wayAPI(row.billcode).then((res) > {var binaryData [];binaryData.push(res);let url window.URL.createObjectURL(new Blob(binaryData, {type: "application/pdf"})); window.open("/static/pdf/web/v…

【鴻蒙應用ArkTS開發系列】- 云開發入門實戰二 實現城市多級聯動Demo(上)

目錄 概述 云數據庫開發 一、創建云數據庫的對象類型。 二、預置數據(為對象類型添加數據條目)。 三、部署云數據庫 云函數實現業務邏輯 一、創建云函數 二、云函數目錄講解 三、創建resources目錄 四、獲取云端憑據 五、導出之前創建的元數據…

算法設計與分析復習

分支法 算法設計與分析復習–遞歸與分治(一) 算法設計與分析復習–遞歸與分治(二) 動態規劃 算法設計與分析復習–動態規劃 貪心 算法設計與分析復習–貪心(一) 算法設計與分析復習–貪心(二) 回溯法 算法設計與…

鴻蒙原生應用/元服務開發-AGC分發如何配置版本信息(下)

12.根據《工業和信息化部關于開展移動互聯網應用程序備案工作的通知》,自2023年9月初起,在中國大陸地區提供互聯網信息服務的APP開發者,需要依法履行APP備案手續,并通過APP分發平臺的備案信息核驗。 對于2023年9月7日后在AGC新上…

【C++入門到精通】 Lambda表達式 C++11 [ C++入門 ]

閱讀導航 引言一、C98中的一個例子二、Lambda表達式1. Lambda表達式語法(1)Lambda表達式各部分說明(2)捕獲列表說明 三、Lambda表達式的底層原理溫馨提示 引言 當今軟件開發行業的快速發展和日益復雜的需求,要求程序員…

基于openwrt創建應用程序教程

背景 之前在做路由器工作時,搞過一段時間openwrt,最近看到之前寫的筆記。整理一下,希望能幫助一些朋友入坑。 熟悉openwrt openwrt之前并沒有接觸過,其目錄結構和linux也有所不同。先大致了解一下openwrt文件系統中各個目錄的作用…

C運算符與表達式

跟著肯哥(不是我)學運算符與表達式 運算符 在C語言中,運算符是一種用來執行特定操作的符號或關鍵字。它們用于對變量、常量和表達進行計算、邏輯判斷和位操作等。 定義一般都當耳旁風了 運算符分類 算術運算符 -*/%加減乘除取模,…

浮點數運算精度丟失,如何解決

為什么浮點數運算的時候會有精度丟失的風險? 浮點數運算精度丟失代碼演示: float a 2.0f - 1.9f; float b 1.8f - 1.7f; System.out.println(a);// 0.100000024 System.out.println(b);// 0.099999905 System.out.println(a b);// false為什么會出現…

everything排除目錄

everything默認搜索所有文件,自己把沒啥必要的目錄都屏蔽掉,記錄如下

ChatGPT/GPT4丨編程助手;AI畫圖;數據分析;科研/項目實現;提示詞工程技巧;論文寫作等

ChatGPT 在論文寫作與編程方面也具備強大的能力。無論是進行代碼生成、錯誤調試還是解決編程難題,ChatGPT都能為您提供實用且高質量的建議和指導,提高編程效率和準確性。此外,ChatGPT是一位出色的合作伙伴,可以為您提供論文寫作的…

【微軟技術棧】使用新的C#功能減少內存分配

本文內容 通過引用傳遞和返回引用安全上下文安全的上下文和 ref 結構統一內存類型通過參考安全提高性能 本節中介紹的技術可提高應用于代碼中的熱路徑時的性能。熱路徑是代碼庫中在正常操作中經常重復執行的部分。將這些技術應用于不經常執行的代碼將產生最小的影響。在進行任何…

[數據結構]-AVL樹

前言 作者:小蝸牛向前沖 名言:我可以接受失敗,但我不能接受放棄 如果覺的博主的文章還不錯的話,還請點贊,收藏,關注👀支持博主。如果發現有問題的地方歡迎?大家在評論區指正 目錄 一、AVL樹基…

OpenGL 繪制線(Qt)

文章目錄 一、簡介二、實現代碼三、實現效果參考資料一、簡介 這里同樣對OpenGL中的繪制線操作進行封裝,便于后續的操作,很多形狀也都是基于線來生成的,如圓形等。 二、實現代碼 LineDrawable.h #ifndef LINE_DRAWABLE_H #define LINE_DRAWABLE_H#include

IBM ELM—系統工程全生命周期管理平臺

產品概述 Engineering Lifecycle Management是IBM提供的工程全生命周期管理組合工具,幫助企業降低開發成本,應對開發挑戰并更快地發展其流程和實踐。 隨著產品變得更加復雜且數字化,傳統的工程開發不再能及時且有效地滿足系統工程的復雜度&a…

【Django-DRF】多年md筆記第5篇:Django-DRF的Request、Response和視圖詳解

本文從分析現在流行的前后端分離Web應用模式說起,然后介紹如何設計REST API,通過使用Django來實現一個REST API為例,明確后端開發REST API要做的最核心工作,然后介紹Django REST framework能幫助我們簡化開發REST API的工作。 Dj…

[點云分割] 基于最小切割的分割

效果&#xff1a; 代碼&#xff1a; #include <iostream> #include <vector>#include <pcl/point_types.h> #include <pcl/io/pcd_io.h> #include <pcl/visualization/cloud_viewer.h> #include <pcl/filters/filter_indices.h> #include…

Can‘t open the append-only file: Permission denied

redis rdb aof-CSDN博客 Cant open the append-only file: Permission denied E:\Document_Redis_Windows\redis-2.4.5-win32-win64\64bit E:\Document_Redis_Windows\redis-2.4.5-win32-win64\64bit\redis.conf 還是不行&#xff0c;就要修改權限了&#xff0c;windows【完全控…

matlab 最小二乘擬合平面并與XOY平面對齊

目錄 一、算法原理二、代碼實現1、繞原點對齊2、繞質心對齊三、結果展示1、繞原點對齊2、繞質心對齊四、測試數據本文由CSDN點云俠原創,原文鏈接。爬蟲網站自重。如果你不是在點云俠的博客中看到該文章,那么此處便是不要臉的爬蟲。 一、算法原理 首先,使用最小二乘擬合平面…

priority_queue簡單實現(優先級隊列)(c++)

priority_queue priority_queue介紹邏輯實現框架調整算法adjust_up()adjust_down() 仿函數/比較函數仿函數特性 構造函數迭代器區間構造 完整優先級隊列代碼 priority_queue介紹 pri_que是一個容器適配器&#xff0c;它的底層是其他容器&#xff0c;并由這些容器再封裝而來。類…

C語言指針相關練習題

? C語言指針相關練習題 文章目錄 C語言指針相關練習題題目一題目二題目三題目四題目五題目六題目七 題目一 #include <stdio.h> int main() {int a[5] { 1, 2, 3, 4, 5 };int *ptr (int *)(&a 1);printf( "%d,%d", *(a 1), *(ptr - 1));return 0; }…