By GokiSoft.com|
20:04 06/02/2023|
Java Basic
[Source Code] Tìm hiểu Tính chất đa hình & Tính chất trừu tượng trong Java - C2206L
Lập trình OOP:
- T/c đóng gói -> DONE
- T/c kế thừa -> DONE
- T/c đa hình
???
- T/c trừu tượng
???
- Interface
???
=====================================================
Viết chương trình quản lý sở thú:
Animal:
- tên
- tuổi
- foodType
input
display
sound
Tiger:
- tên
- tuổi
- foodType
input
display
sound
Cat:
- Tên, tuổi, foodType
input
display
sound
Dog:
- ...
input
display
sound
Tạo 1 mảng quản lý danh sách động -> Sử dụng ít nhất số biến cần dùng trong quản lý.
#Animal.java
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.gokisoft.lesson04;
import java.util.Scanner;
/**
*
* @author diepvan
*/
public abstract class Animal {
String name;
int age;
String foodType;
public Animal() {
}
public Animal(String name, int age, String foodType) {
this.name = name;
this.age = age;
this.foodType = foodType;
}
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 getFoodType() {
return foodType;
}
public void setFoodType(String foodType) {
this.foodType = foodType;
}
public void input() {
Scanner scan = new Scanner(System.in);
System.out.println("Nhap ten: ");
name = scan.nextLine();
System.out.println("Nhap tuoi: ");
age = Integer.parseInt(scan.nextLine());
System.out.println("Nhap thuc an: ");
foodType = scan.nextLine();
}
public void display() {
System.out.println("Ten: " + name + ", tuoi: " + age + ", thuc an: " + foodType);
// System.out.println(toString());
// System.out.println(this);
}
@Override
public String toString() {
return "name=" + name + ", age=" + age + ", foodType=" + foodType;
}
// public void sound() {
// }
public abstract void sound();
}
#Cat.java
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.gokisoft.lesson04;
/**
*
* @author diepvan
*/
public class Cat extends Animal{
@Override
public void sound() {
System.out.println("meo .. meo ..");
}
public void test2() {
System.out.println("Xin chao ...");
}
}
#Dog.java
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.gokisoft.lesson04;
/**
*
* @author diepvan
*/
public class Dog extends Animal{
@Override
public void sound() {
System.out.println("Go ... go ...");
}
public void ok() {
System.out.println("OKOKOK");
}
}
#Main.java
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.gokisoft.lesson04;
import java.util.ArrayList;
/**
*
* @author diepvan
*/
public class Main {
public static void main(String[] args) {
Dog d = new Dog();
d.input();
d.sound();
// Animal animal = new Animal();
// animal.input();
// animal.sound();
Cat cat = new Cat();
cat.sound();
//T/c da hinh
Animal a = new Cat();//a -> khoi tao du lieu tu this hoac children.
a.sound();
//Ung dung -> tao sao phai su dung da hinh
showSound(d);
showSound(cat);
showSound(a);
// showSound(animal);
//Ung dung -> Quan ly thong tin doi tuong
ArrayList<Dog> dogs = new ArrayList<>();
dogs.add(d);
ArrayList<Cat> cats = new ArrayList<>();
cats.add(cat);
ArrayList<Animal> animals = new ArrayList<>();
animals.add(a);
// animals.add(animal);
//Su dung theo y
for (Dog dog : dogs) {
dog.sound();
}
ArrayList<Animal> aList = new ArrayList<>();
aList.add(d);
aList.add(cat);
// aList.add(animal);
aList.add(a);
for (Animal animal1 : aList) {
animal1.sound();
}
for (Animal animal1 : aList) {
animal1.input();
}
aList.get(1).sound();
//Tim kiem vi tri Cat dau tien trong mang -> nhap -> Thoat mang
for (Animal abc : aList) {
if(abc instanceof Cat) {
abc.input();
break;
}
}
//Dem so cat
int count = 0;
for (Animal animal1 : aList) {
if(animal1 instanceof Cat) {
count++;
}
}
System.out.println("So meo: " + count);
}
static void showSound(Animal a) {
a.sound();
}
}
#Test.java
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.gokisoft.lesson04;
/**
*
* @author diepvan
*/
public class Test {
public static void main(String[] args) {
Tiger t = new Tiger();
t.sound();
Animal a = new Dog();
a.sound();
if(a instanceof Dog) {
((Dog) a).ok();
}
Animal abc = new Animal() {
@Override
public void sound() {
System.out.println("Snake ...");
okok();
}
public void okok() {
System.out.println("sdsdfdsf");
}
};
abc.sound();
}
}
#Tiger.java
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.gokisoft.lesson04;
/**
*
* @author diepvan
*/
public class Tiger extends Animal{
@Override
public void sound() {
System.out.println("Humh ... humh ...");
}
}
Tags:
Phản hồi từ học viên
5
(Dựa trên đánh giá ngày hôm nay)