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
================================================

#Zoo.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 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)

Đăng nhập để làm bài kiểm tra

Chưa có kết quả nào trước đó