Current date May 18, 2026
Tự học Rust

Tự học Rust – Bài 14: Method Syntax (impl block)

URL copied
Share URL copied
Tự học Rust - Bài 14: Method Syntax (impl block)
Tự học Rust – Bài 14: Method Syntax (impl block)

1. Khối `impl` (Implementation)

Để định nghĩa phương thức cho một Struct, chúng ta sử dụng khối `impl`.

struct Rectangle {
    width: u32,
    height: u32,
}

impl Rectangle {
    // Đây là một phương thức (method)
    fn area(&self) -> u32 {
        self.width * self.height
    }
}
  • `self`: Đại diện cho chính đối tượng đang gọi phương thức. Chúng ta thường dùng `&self` để mượn dữ liệu thay vì lấy quyền sở hữu.

2. Gọi phương thức

Dùng dấu chấm `.` để gọi phương thức từ một thực thể (instance) của Struct.

let rect = Rectangle { width: 30, height: 50 };
println!("Diện tích: {}", rect.area());

3. Associated Functions (Hàm liên kết)

Đây là những hàm nằm trong khối `impl` nhưng không nhận `self` làm tham số. Chúng tương đương với “Static Method” trong các ngôn ngữ khác, thường dùng làm hàm khởi tạo.

impl Rectangle {
    // Hàm khởi tạo một hình vuông
    fn square(size: u32) -> Rectangle {
        Rectangle {
            width: size,
            height: size,
        }
    }
}

// Gọi bằng dấu hai chấm kép ::
let sq = Rectangle::square(10);

4. Nhiều khối `impl`

Trong Rust, một Struct có thể có nhiều khối `impl` riêng biệt. Điều này rất hữu ích khi bạn muốn phân tách logic hoặc tổ chức code sạch sẽ hơn.

Lời kết Bài 14

Method Syntax giúp bạn đóng gói dữ liệu và hành vi lại với nhau, làm cho mã nguồn trở nên trực quan và dễ bảo trì. Ở bài tiếp theo, chúng ta sẽ học về Traits – cách để định nghĩa các hành vi chung cho nhiều kiểu dữ liệu khác nhau.

Hẹn gặp lại các bạn!

Share URL copied

Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *

Active0
AI3
AI & Automation10

Exclusives

Lifestyle

Related Articles

Tự học Rust – Bài 20: Concurrency – Đa luồng an toàn tuyệt đối

Khám phá cách Rust xử lý lập trình đa luồng mà không...

Tự học Rust – Bài 19: Con trỏ thông minh (Smart Pointers)

Vượt xa các tham chiếu thông thường với Smart Pointers: Box, Rc...

Tự học Rust – Bài 18: Lifetimes – Đảm bảo tham chiếu hợp lệ

Lifetimes là gì? Tại sao Rust cần chúng? Tìm hiểu cách trình...

Tự học Rust – Bài 17: Generics – Viết mã nguồn linh hoạt

Sử dụng Generics trong Rust để tạo ra các hàm và cấu...