By GokiSoft.com|
20:34 08/02/2023|
Java Basic
[Source Code] Tìm hiểu Interface trong Java - C2206L
Nội dung kiến thức:
- Interface
- Đi qua giao trình
- Luyện bài tập
-> Phân tích:
- Nhà sản xuất
- Thuộc tính
- Hành động:
- input
- display
- Tác giả:
- Thuộc tính
- Hành động
- input
- display
- Sách:
- Thuộc tính
- Hành động
- input
- display
Bài toán:
Sử dụng 1 mảng -> quản lý tất cả các object (NSX, Author, Book) -> Quản lý hành động: (input, display)
#Author.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.lesson05;
import java.util.Scanner;
/**
*
* @author diepvan
*/
public class Author implements IInputOutput, ILog{
String name;
String nickname;
String birthday;
public Author() {
// System.out.println(k); k -> const (final)
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public void input() {
Scanner scan = new Scanner(System.in);
System.out.println("Nhap ten tac gia: ");
name = scan.nextLine();
System.out.println("Nhap but danh: ");
nickname = scan.nextLine();
System.out.println("Nhap ngay sinh: ");
birthday = scan.nextLine();
}
public void display() {
System.out.println(this);
}
@Override
public String toString() {
return "name=" + name + ", nickname=" + nickname + ", birthday=" + birthday;
}
@Override
public void showLog() {
System.out.println("Show Log DU LIeu...");
}
}
#BaseObject.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.lesson05;
/**
*
* @author diepvan
*/
public abstract class BaseObject {
public abstract void input();
public abstract void display();
}
#Book.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.lesson05;
import java.util.Scanner;
/**
*
* @author diepvan
*/
public class Book implements IInputOutput{
String nickname;
String manufacturerName;
String bookName;
float price;
public Book() {
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getManufacturerName() {
return manufacturerName;
}
public void setManufacturerName(String manufacturerName) {
this.manufacturerName = manufacturerName;
}
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
public void input() {
Scanner scan = new Scanner(System.in);
System.out.println("Nhap but danh: ");
nickname = scan.nextLine();
System.out.println("Nhap nsx: ");
manufacturerName = scan.nextLine();
System.out.println("Nhap ten sach: ");
bookName = scan.nextLine();
System.out.println("Nhap gia: ");
price = Float.parseFloat(scan.nextLine());
}
public void display() {
System.out.println(this);
}
@Override
public String toString() {
return "nickname=" + nickname + ", manufacturerName=" + manufacturerName + ", bookName=" + bookName + ", price=" + price;
}
}
#BT996.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.lesson05;
/**
*
* @author diepvan
*/
public class BT996 {
public static void main(String[] args) {
Author author = new Author();
author.input();
Manufacturer manufacturer = new Manufacturer();
manufacturer.input();
Book book = new Book();
book.input();
author.display();
manufacturer.display();
book.display();
}
}
#IInput.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.lesson05;
/**
*
* @author diepvan
*/
public interface IInput {
void input();
}
#IInputOutput.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.lesson05;
/**
*
* @author diepvan
*/
public interface IInputOutput extends IInput, IOutput{
int k = 100;//class: public final int k = 100;
// void showMessage();
}
#ILog.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.lesson05;
/**
*
* @author diepvan
*/
public interface ILog {
void showLog();
}
#IOutput.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.lesson05;
/**
*
* @author diepvan
*/
public interface IOutput {
void display();
}
#Manufacturer.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.lesson05;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
/**
*
* @author diepvan
*/
public class Manufacturer implements IInputOutput{
String name;
String ownerName;
String establishDate;
Date esDate;
public Manufacturer() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getOwnerName() {
return ownerName;
}
public void setOwnerName(String ownerName) {
this.ownerName = ownerName;
}
public String getEstablishDate() {
return establishDate;
}
public void setEstablishDate(String establishDate) {
this.establishDate = establishDate;
}
public void input() {
Scanner scan = new Scanner(System.in);
System.out.println("Nhap ten nsx: ");
name = scan.nextLine();
System.out.println("Nhap chu so huu: ");
ownerName = scan.nextLine();
System.out.println("Nhap ngay thanh lap: ");
establishDate = scan.nextLine();
System.out.println("Nhap ngay thanh lap (dd/MM/yyyy): ");
String esDateStr = scan.nextLine();
try {
//Convert string date -> Date trong Java
esDate = new SimpleDateFormat("dd/MM/yyyy").parse(esDateStr);
} catch (ParseException ex) {
esDate = null;
}
}
public void display() {
System.out.println(this);
}
@Override
public String toString() {
return "name=" + name + ", ownerName=" + ownerName + ", establishDate=" + establishDate;
}
}
#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.lesson05;
import java.util.ArrayList;
/**
*
* @author diepvan
*/
public class Test {
public static void main(String[] args) {
ArrayList<IInputOutput> list = new ArrayList<>();
Author a = new Author();
list.add(a);
Manufacturer m = new Manufacturer();
list.add(m);
Book b = new Book();
list.add(b);
System.out.println("=== Nhap du lieu ===");
for (IInputOutput baseObject : list) {
baseObject.input();
}
System.out.println("=== Hien thi ===");
for (IInputOutput baseObject : list) {
baseObject.display();
}
}
}
Tags:
Phản hồi từ học viên
5
(Dựa trên đánh giá ngày hôm nay)