By GokiSoft.com|
20:05 31/07/2021|
Java Basic
[Share Code] Java Basic- OOP - Tổng hợp - Quản lý sở thú - Luyện tập C2005L
Java Basic- OOP - Tổng hợp - Quản lý sở thú
- Tính chất trừu tượng trong lập trình OOP
- Tính chất đóng gói
Student -> extend People
Thuoc tinh:
fullname, age, address, email, rollno
Phuong thuc:
running
sleeping
learning
input
display
...
People -> Parent
Thuoc tinh
fullname, age, address
Phuong thuc
running
sleeping
input
display
...
- Tính kế thừa
- Override
- Overloading
- Tính đa hình
- Tính trừu tượng
hinh tron -> PI * r * r
hinh cn -> width * height
...
-> De cap toi bat 1 hinh hoc nao do -> dien tich
HinhHoc ->
.. thuoc tinh
.. phuong
.... tinh dien tich -> Thiet ke phuong tinh dien tich -> abstract
-> class HinhHoc -> abstract class -> Tinh chat truu tuong
Circle -> HinhHoc -> Viet code tinh dien tich rieng
HCN -> HinhHoc -> Viet code tinh dien tich rieng
HV -> HinhHoc -> Viet code tinh dien tich rieng
HinhTamGiac -> HinhHoc -> Viet code tinh dien tich rieng
- Interface
- Co t/c ke thua ko -> CO
- Interface & Abstract ???
- Chu y nghien cuu -> di phong van.
- Lambda
================================================
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package lesson01.bt990;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
*
* @author Diep.Tran
*/
public class Zoo {
List<Room> roomList;
public Zoo() {
roomList = new ArrayList<>();
}
public List<Room> getRoomList() {
return roomList;
}
public void setRoomList(List<Room> roomList) {
this.roomList = roomList;
}
public void addAnimal() {
Scanner scan = new Scanner(System.in);
System.out.println("Nhap ma chuong can them dong vat: ");
int roomNo = Integer.parseInt(scan.nextLine());
for (Room room : roomList) {
if(room.getRoomNo() == roomNo) {
room.addAnimal();
}
}
}
public void removeAnimal() {
Scanner scan = new Scanner(System.in);
System.out.println("Nhap ma chuong can xoa dong vat: ");
int roomNo = Integer.parseInt(scan.nextLine());
for (Room room : roomList) {
if(room.getRoomNo() == roomNo) {
System.out.println("Nhap ten dong vat can xoa: ");
String name = scan.nextLine();
room.removeAnimal(name);
break;
}
}
}
public void display() {
System.out.println("Thong tin so thu: ");
for (Room room : roomList) {
room.display();
}
}
}
#Tiger.java
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package lesson01.bt990;
/**
*
* @author Diep.Tran
*/
public class Tiger extends Animal{
@Override
public void showSound() {
System.out.println("Tieng keu: Tiger ...");
}
}
#TestZoo.java
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package lesson01.bt990;
import java.util.Scanner;
/**
*
* @author Diep.Tran
*/
public class TestZoo {
public static void main(String[] args) {
Zoo zoo = new Zoo();
Scanner scan = new Scanner(System.in);
int choose;
do {
showMenu();
choose = Integer.parseInt(scan.nextLine());
switch(choose) {
case 1:
Room room = new Room();
room.input();
zoo.getRoomList().add(room);
break;
case 2:
System.out.println("Nhap ma chuong can xoa: ");
int roomNo = Integer.parseInt(scan.nextLine());
for (int i = 0; i < zoo.getRoomList().size(); i++) {
if(zoo.getRoomList().get(i).getRoomNo() == roomNo) {
zoo.getRoomList().remove(i);
}
}
break;
case 3:
zoo.addAnimal();
break;
case 4:
zoo.removeAnimal();
break;
case 5:
zoo.display();
break;
case 6:
System.out.println("Thoat!!!");
break;
default:
System.out.println("Nhap sai!!!");
break;
}
} while(choose != 6);
}
static void showMenu() {
System.out.println("1. Them chuong");
System.out.println("2. Xoa chuong");
System.out.println("3. Them dong vat");
System.out.println("4. Xoa dong vat");
System.out.println("5. Xem tat ca dong vat");
System.out.println("6. Thoat");
System.out.println("Chon: ");
}
}
#Room.java
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package lesson01.bt990;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
*
* @author Diep.Tran
*/
public class Room {
int roomNo;
List<Animal> animalList;
public Room() {
animalList = new ArrayList<>();
}
public int getRoomNo() {
return roomNo;
}
public void setRoomNo(int roomNo) {
this.roomNo = roomNo;
}
public List<Animal> getAnimalList() {
return animalList;
}
public void setAnimalList(List<Animal> animalList) {
this.animalList = animalList;
}
public void addAnimal() {
Animal animal = createAnimal();
animalList.add(animal);
}
public void removeAnimal(String name) {
for (int i = 0; i < animalList.size(); i++) {
if(animalList.get(i).getName().equalsIgnoreCase(name)) {
animalList.remove(i);
i--;
}
}
}
public void display() {
System.out.println("Ma chuong: " + roomNo);
animalList.forEach(animal -> {
animal.display();
});
}
public void input() {
Scanner scan = new Scanner(System.in);
System.out.println("Nhap ma chuong: ");
roomNo = Integer.parseInt(scan.nextLine());
System.out.println("Nhap so dong vat can them: ");
int n = Integer.parseInt(scan.nextLine());
for (int i = 0; i < n; i++) {
Animal animal = createAnimal();
animalList.add(animal);
}
}
public Animal createAnimal() {
Scanner scan = new Scanner(System.in);
Animal animal;
System.out.println("1. Kho tao Tiger");
System.out.println("2. Khoi tao Dog");
System.out.println("3. Khoi tao Cat");
System.out.println("Chon: ");
int choose = Integer.parseInt(scan.nextLine());
switch(choose) {
case 1:
animal = new Tiger();
break;
case 2:
animal = new Dog();
break;
default:
animal = new Cat();
break;
}
animal.input();
return animal;
}
}
#Dog.java
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package lesson01.bt990;
/**
*
* @author Diep.Tran
*/
public class Dog extends Animal{
@Override
public void showSound() {
System.out.println("Tieng keu: Dog ...");
}
}
#Cat.java
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package lesson01.bt990;
/**
*
* @author Diep.Tran
*/
public class Cat extends Animal{
@Override
public void showSound() {
System.out.println("Tieng keu: Cat ...");
}
}
#Animal.java
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package lesson01.bt990;
import java.util.Scanner;
/**
*
* @author Diep.Tran
*/
public abstract class Animal {
String name, description;
int age;
public Animal() {
}
public Animal(String name, String description, int age) {
this.name = name;
this.description = description;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void input() {
Scanner scan = new Scanner(System.in);
System.out.println("Nhap ten: ");
name = scan.nextLine();
System.out.println("Nhap mo ta: ");
description = scan.nextLine();
System.out.println("Nhap tuoi: ");
age = Integer.parseInt(scan.nextLine());
}
public void display() {
System.out.println(this);
showSound();
}
@Override
public String toString() {
return "Animal{" + "name=" + name + ", description=" + description + ", age=" + age + '}';
}
public abstract void showSound();
}
Phản hồi từ học viên
5
(Dựa trên đánh giá ngày hôm nay)