×

Định nghĩa lớp mới với từ khóa class trong Ruby

Trong Ruby, việc định nghĩa một lớp mới là một trong những khía cạnh cơ bản và quan trọng của lập trình hướng đối tượng. Dưới đây là cách bạn có thể tạo ra một lớp mới sử dụng từ khóa class.

Khái Niệm Lớp Trong Ruby

Lớp là một bản thiết kế (blueprint) cho các đối tượng. Lớp định nghĩa các thuộc tính và phương thức mà các đối tượng của lớp đó sẽ có. Trong Ruby, một lớp được tạo ra bằng từ khóa class theo sau là tên của lớp.

Cú Pháp Định Nghĩa Lớp

Cú pháp cơ bản để định nghĩa một lớp trong Ruby rất đơn giản. Dưới đây là ví dụ minh họa:

class Animal
  def initialize(name, species)
    @name = name
    @species = species
  end

  def introduce
    "I am #{@name} and I am a #{@species}."
  end
end

Phân Tích Ví Dụ

  1. Từ khóa class: Bắt đầu định nghĩa lớp bằng từ khóa class theo sau là tên lớp (trong ví dụ này là Animal).

  2. Phương thức khởi tạo initialize: Đây là phương thức đặc biệt được gọi khi một đối tượng mới của lớp được tạo ra. Nó có nhiệm vụ khởi tạo các biến instance (biến bắt đầu bằng dấu @) với các giá trị được truyền vào.

  3. Biến instance: Các biến instance như @name@species lưu trữ thông tin riêng biệt cho mỗi đối tượng của lớp.

  4. Phương thức: Các phương thức như introduce định nghĩa hành vi của đối tượng. Trong ví dụ trên, phương thức introduce trả về một chuỗi giới thiệu tên và loài của đối tượng.

Tạo Đối Tượng Từ Lớp

Sau khi định nghĩa lớp, bạn có thể tạo đối tượng (instance) từ lớp đó và sử dụng các phương thức của nó:

dog = Animal.new("Rex", "Dog")
puts dog.introduce
# Output: I am Rex and I am a Dog.

Kế Thừa Trong Ruby

Một trong những tính năng mạnh mẽ của Ruby là khả năng kế thừa. Bạn có thể tạo ra một lớp mới kế thừa từ một lớp đã tồn tại bằng cách sử dụng ký hiệu <:

class Dog < Animal
  def bark
    "Woof!"
  end
end

dog = Dog.new("Rex", "Dog")
puts dog.introduce
puts dog.bark
# Output: I am Rex and I am a Dog.
#         Woof!

Kết Luận

Việc định nghĩa một lớp mới trong Ruby là cơ bản nhưng cực kỳ quan trọng đối với lập trình hướng đối tượng. Ruby cung cấp cú pháp đơn giản và dễ hiểu để bạn có thể nhanh chóng tạo và vận hành các lớp với các thuộc tính và phương thức riêng biệt. Thêm vào đó, khả năng kế thừa giúp bạn tận dụng mã đã viết và mở rộng chức năng một cách dễ dàng và hiệu quả.

Comments