首页 > 分享 > java面向对象基础案例

java面向对象基础案例

目录

宠物商店管理系统

一、概述

二、代码解析

三、使用方法

四、示例

五、总结

宠物商店管理系统

一、概述


这是一个使用Java编写的宠物商店管理系统。该系统提供了添加、修改、删除和查看宠物的功能。用户可以通过菜单进行操作,系统会根据用户的选择执行相应的功能。

这个案例作为面向对象基础案例非常合适,赶紧练练吧!

二、代码解析


1. `petList`:用于存储宠物对象的数组。
2. `count`:用于记录当前宠物数量的变量。
3. `sc`:用于获取用户输入的扫描器对象。
4. `menu()`:主菜单方法,根据用户输入的数字选择相应的功能。
5. `add()`:添加宠物的方法,根据用户输入的信息创建相应类型的宠物对象并添加到`petList`中。
6. `updata()`:修改宠物信息的方法,根据用户输入的信息修改指定宠物的属性。
7. `findPet(String name)`:查找宠物的方法,根据宠物名称在`petList`中查找对应的宠物对象。
8. `delete()`:删除宠物的方法,根据用户输入的名称删除指定的宠物对象。
9. `show()`:显示宠物列表的方法,遍历`petList`并打印每个宠物的信息。

三、使用方法


1. 运行程序后,进入主菜单。
2. 根据提示选择功能,如添加宠物、修改宠物等。
3. 按照提示输入相应的信息,如宠物类型、名称、年龄等。
4. 完成操作后,可以选择查看宠物列表或退出系统。

四、示例

下面是系统主页面类:

import java.util.Scanner;

public class BLBPetStoreManager {

private static Pet[] petList = new Pet[100];

private static int count = 0;

private Scanner sc = new Scanner(System.in);

public static void main(String[] args) {

BLBPetStoreManager petStoreManager = new BLBPetStoreManager();

petStoreManager.menu();

}

public void menu(){

while (true){

System.out.println("欢迎使用百里半宠物商店管理系统!");

System.out.println("请选择功能:");

System.out.println("1.添加宠物");

System.out.println("2.修改宠物");

System.out.println("3.删除宠物");

System.out.println("4.宠物列表");

System.out.println("5.退出系统");

Scanner sc = new Scanner(System.in);

int num = sc.nextInt();

switch (num){

case 1:

add();

break;

case 2:

updata();

break;

case 3:

delete();

break;

case 4:

show();

break;

case 5:

System.exit(0);

default:

System.out.println("无效输入");

break;

}

}

}

public void add(){

System.out.println("请选择宠物类型:");

System.out.println("1.狗");

System.out.println("2.猫");

System.out.println("3.仓鼠");

System.out.println("4.兔子");

int num = sc.nextInt();

System.out.println("请输入名称:");

String name = sc.next();

System.out.println("请输入年龄:");

int age = sc.nextInt();

System.out.println("请输入宠物爱吃的食物:");

String food = sc.next();

switch (num){

case 1:

System.out.println("请输入狗的体型:");

String dogSize = sc.next();

petList[count] = new Dog(name,age,food,dogSize);

count++;

System.out.println("添加宠物成功!");

break;

case 2:

System.out.println("请输入猫的品种:");

String catBreed = sc.next();

petList[count] = new Cat(name,age,food,catBreed);

count++;

System.out.println("添加宠物成功!");

break;

case 3:

System.out.println("请输入仓鼠的毛色:");

String FurColor = sc.next();

petList[count] = new Hamster(name,age,food,FurColor);

count++;

System.out.println("添加宠物成功!");

break;

case 4:

System.out.println("请输入兔子的毛色:");

double jumpHeight = sc.nextDouble();

petList[count] = new Rabbit(name,age,food,jumpHeight);

count++;

System.out.println("添加宠物成功!");

break;

default:

System.out.println("无效输入");

break;

}

}

public void updata(){

System.out.println("请输入要修改的宠物名称:");

String name = sc.next();

Pet pet = findPet(name);

if (pet != null) {

System.out.println("请输入新的宠物名称:");

String newName = sc.next();

pet.setName(newName);

System.out.println("请输入新的宠物年龄:");

int newAge = sc.nextInt();

pet.setAge(newAge);

if (pet instanceof Dog) {

System.out.println("请输入新的狗的体型:");

String newSize = sc.next();

((Dog) pet).setSize(newSize);

} else if (pet instanceof Cat) {

System.out.println("请输入新的猫的品种:");

String newBreed = sc.next();

((Cat) pet).setBreed(newBreed);

} else if (pet instanceof Hamster) {

System.out.println("请输入新的仓鼠的毛色:");

String newFurColor = sc.next();

((Hamster) pet).setFurColor(newFurColor);

} else if (pet instanceof Rabbit) {

System.out.println("请输入新的兔子的跳跃高度:");

double newJumpHeight = sc.nextDouble();

((Rabbit) pet).setJumpHeight(newJumpHeight);

}

System.out.println("修改宠物信息成功!");

} else {

System.out.println("未找到宠物:" + name);

}

}

public static Pet findPet(String name) {

for (int i = 0; i < count; i++) {

if (petList[i].name.equals(name)) {

return petList[i];

}

}

return null;

}

public void delete(){

System.out.println("请输入要删除的宠物名称:");

String name = sc.next();

Pet pet = findPet(name);

if (pet != null) {

for (int i = 0; i < count; i++) {

if (petList[i].equals(pet)) {

for (int j = i; j < count - 1; j++) {

petList[j] = petList[j + 1];

}

petList[count - 1] = null;

count--;

break;

}

}

System.out.println("删除宠物成功!");

} else {

System.out.println("未找到宠物:" + name);

}

}

public void show(){

if (count == 0) {

System.out.println("宠物列表为空!");

} else {

System.out.println("宠物列表:");

for (int i = 0; i < count; i++) {

System.out.println(petList[i]);

}

}

}

}

下面是Pet.class(宠物类)代码,此类作为Dog类、Cat类、Hamster类(仓鼠类)、Rabbit类(兔子类)的抽象父类,将子类的共同属性和方法提取出来作为父类。

public abstract class Pet {

protected String name;

protected int age;

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 getFood() {

return food;

}

public void setFood(String food) {

this.food = food;

}

protected String food;

public Pet(String name, int age, String food){

this.name = name;

this.age = age;

this.food = food;

}

public abstract void eat(String food);

@Override

public String toString() {

return "Pet{" +

"name='" + name + ''' +

", age=" + age +

", food='" + food + ''' +

'}';

}

}

下面是Dog.class代码:

public class Dog extends Pet{

public Dog(String name, int age, String food, String size) {

super(name, age, food);

this.size = size;

}

private String size;

public String getSize() {

return size;

}

public void setSize(String size) {

this.size = size;

}

@Override

public void eat(String food) {

System.out.println(name+"正在吃它喜欢的"+food);

}

public void playBall(){

System.out.println(name+"正在追逐和玩耍球类游戏");

}

@Override

public String toString() {

return "狗:{" +

"名字='" + name + ''' +

", 年龄=" + age +

", 喜欢的食物='" + food + ''' +

", 狗的体型='" + size + ''' +

'}';

}

}

下面为Cat.class代码

public class Cat extends Pet{

public Cat(String name, int age, String food, String breed) {

super(name, age, food);

this.breed = breed;

}

private String breed;

public String getBreed() {

return breed;

}

public void setBreed(String breed) {

this.breed = breed;

}

@Override

public void eat(String food) {

System.out.println(name+"正在吃它喜欢的"+food);

}

public void clean(){

System.out.println(name+"喜欢清洁毛发");

}

@Override

public String toString() {

return "猫:{" +

"名字='" + name + ''' +

", 年龄=" + age +

", 喜欢的食物='" + food + ''' +

", 猫的品种='" + breed + ''' +

'}';

}

}

下面是Hamster.class代码:

public class Hamster extends Pet{

public Hamster(String name, int age, String food,String furColor) {

super(name, age, food);

this.furColor = furColor;

}

private String furColor;

public String getFurColor() {

return furColor;

}

public void setFurColor(String furColor) {

this.furColor = furColor;

}

@Override

public void eat(String food) {

System.out.println(name+"正在吃它喜欢的"+food);

}

public void runOnWheel(){

System.out.println(name+"在跑轮上面奔跑");

}

@Override

public String toString() {

return "仓鼠:{" +

"name='" + name + ''' +

", age=" + age +

", food='" + food + ''' +

", furColor='" + furColor + ''' +

'}';

}

}

下面是Rabbit代码:

package demo4;

public class Rabbit extends Pet{

public Rabbit(String name, int age, String food, double jumpHeight) {

super(name, age, food);

this.jumpHeight = jumpHeight;

}

private double jumpHeight;

public double getJumpHeight() {

return jumpHeight;

}

public void setJumpHeight(double jumpHeight) {

this.jumpHeight = jumpHeight;

}

@Override

public void eat(String food) {

System.out.println(name+"正在吃它喜欢的"+food);

}

public void jump(){

System.out.println(name+"喜欢跳跃和蹦跳");

}

@Override

public String toString() {

return "兔子:{" +

"name='" + name + ''' +

", age=" + age +

", food='" + food + ''' +

", jumpHeight=" + jumpHeight +

'}';

}

}

五、总结


这个宠物商店管理系统可以帮助用户方便地管理宠物信息,包括添加、修改、删除和查看宠物。通过使用面向对象的思想,将宠物分为不同的类型,并根据类型创建相应的对象。同时,使用数组和循环结构实现了对宠物列表的管理。

相关知识

java面向对象基础案例
面向对象案例——宠物医院
【面向对象学习笔记day03】面向对象基础语法+内置函数+定义简单的类+创建对象+第一个面向对象程序+使用 Cat 类再创建一个对象+方法中的self参数+初始化方法+内置方法和属性+del+str
pyhton面向对象的实例
JAVA面向对象编程——学生喂养三种宠物:猫、狗和鸟
宠物商店 案例分析
Java 面向对象——多态(上)
电子宠物游戏java
用java写的小宠物游戏
初识面向对象(猫咪项目)

网址: java面向对象基础案例 https://m.mcbbbk.com/newsview265867.html

所属分类:萌宠日常
上一篇: 虚拟宠物仓鼠
下一篇: 派多格宠物店有没有仓鼠?