Skip to main content

✅ Menu Chuẩn - Interfaces

Chào mừng đến với bài học về Interfaces - tiêu chuẩn menu và dịch vụ trong Bếp Á!

🎯 Món Ăn Hôm Nay

Tưởng tượng bạn là quản lý chuỗi nhà hàng:

  • Mọi nhà hàng phải có: Menu, Phục vụ, Thanh toán
  • Phở Hà Nội làm theo cách riêng
  • Bún Bò Huế làm theo cách riêng
  • Nhưng chuẩn dịch vụ phải giống nhau!

Đó chính là Interface - quy chuẩn mà mọi nhà hàng phải tuân theo!

🥘 Interfaces Là Gì?

Interface = Tiêu chuẩn dịch vụ (quy định phải làm gì, không quy định làm thế nào)

// Tiêu chuẩn nhà hàng
type NhaHang interface {
HienThiMenu()
PhucVu(tenMon string) string
TinhTien() int
}

🍜 Ẩn Dụ Nhà Hàng:

  • Interface = Tiêu chuẩn dịch vụ bắt buộc
  • Methods = Các dịch vụ phải có
  • Implementation = Cách mỗi nhà hàng thực hiện

👨‍🍳 Câu Chuyện Trong Bếp

Chuỗi nhà hàng "Bếp Á" có nhiều chi nhánh, mỗi chi nhánh phải tuân theo tiêu chuẩn chung!

🎉 Kết quả: Interface giúp quản lý nhiều loại nhà hàng dễ dàng!

📝 Công Thức Nấu (Code Examples)

Ví Dụ 1: Interface Cơ Bản

package main
import "fmt"

type MonAn interface {
TenMon() string
GiaTien() int
}

type Pho struct {
Loai string
}

func (p Pho) TenMon() string {
return "Phở " + p.Loai
}

func (p Pho) GiaTien() int {
return 50000
}

func main() {
var mon MonAn = Pho{Loai: "Bò"}
fmt.Printf("%s: %d VND\n", mon.TenMon(), mon.GiaTien())
}

💡 Bí Quyết Của Đầu Bếp

  1. Interface nhỏ gọn: 1-3 methods là tốt nhất
  2. Accept interfaces, return structs
  3. Type assertion an toàn: Luôn kiểm tra ok

🎓 Bạn Đã Học Được

  • ✅ Interface = Tiêu chuẩn dịch vụ
  • ✅ Polymorphism = Nhiều loại, cùng cách xử lý
  • ✅ Empty interface = Nhận mọi kiểu

🍜 Món Tiếp Theo

👉 Xử Lý Sự Cố - Error Handling


💡 Lời Khuyên Cuối: Interface giống tiêu chuẩn nhà hàng - rõ ràng thì mọi chi nhánh đều hoạt động tốt!