Series Ruby for Beginners - Chapter 1: Classes and Objects
Chào mừng bạn đến với series Ruby for Beginners! Nếu bạn mới bắt đầu học lập trình hoặc muốn khám phá ngôn ngữ Ruby từ con số 0, đây chính là nơi dành cho bạn. Trong loạt bài này, tôi sẽ hướng dẫn bạn qua từng bước cơ bản, giúp bạn nắm vững các khái niệm quan trọng và áp dụng chúng vào các bài tập thực tế. Ruby nổi tiếng với cú pháp đơn giản, dễ đọc, và rất phù hợp cho người mới bắt đầu. Hãy cùng nhau xây dựng nền tảng vững chắc để bạn tự tin viết code và phát triển dự án của riêng mình!
Classes and Objects
Giới thiệu
Ruby là một ngôn ngữ lập trình hướng đối tượng. Các tính năng của ngôn ngữ lập trình hướng đối tượng bao gồm
- Tính đóng gói (Data Encapsulation)
- Tính trừu tượng (Data Abstraction)
- Tính đa hình (Polymorphism)
- Tính kế thừa (Inheritance)
Một chương trình hướng đối tượng bao gồm class và object , một Class là bản thiết kế mà từ đó các đối tượng khác nhau được tạo ra.
Ví dụ: Chúng ta nói rằng cuốn sách (book) là một thể hiện của class books
Dưới đây là một ví dụ về class LibraryItem
class LibraryItem attr_accessor :title, :author, :publication_year, :status def initialize(title, author, publication_year, status) @title = title @author = author @publication_year = publication_year @status = status end def borrowing # method implementation end def returning # method implementation end def reserving # method implementation end end
- title: Tiêu đề của mục thư viện.
- author: Tác giả của mục thư viện.
- publication_year: Năm xuất bản của mục.
- status: Trạng thái của mục, ví dụ như "đang mượn", "có sẵn", hoặc "đặt trước".
- Phương thức này được gọi khi một đối tượng mới của class LibraryItem được tạo ra. Nó nhận bốn tham số (tiêu đề, tác giả, năm xuất bản, trạng thái) và gán chúng cho các biến instance (@title, @author, @publication_year, @status).
- borrowing: Dành cho việc mượn một mục trong thư viện.
- returning: Dành cho việc trả lại mục đã mượn.
- reserving: Dành cho việc đặt trước một mục,
Ví dụ: một cuốn sách có tựa đề "1984" của George Orwell, xuất bản năm 1949, có thể có trạng thái "có sẵn"
Định nghĩa một class trong Ruby
class Member
end
Kết thúc class bằng từ khóa end
Biến trong một class ruby
Ruby cung cấp bốn loại biến:
- Biến cục bộ (Local Variables): Biến cục bộ là các biến được định nghĩa trong một phương thức. Biến cục bộ không khả dụng bên ngoài phương thức. Biến cục bộ bắt đầu bằng một chữ cái thường hoặc _.
- Biến instance (Instance Variables): Biến instance khả dụng giữa các phương thức trong bất kỳ instance (đối tượng) cụ thể nào. Điều này có nghĩa là biến instance thay đổi từ đối tượng này sang đối tượng khác. Biến instance được bắt đầu bằng ký tự @ và theo sau là tên biến.
- Biến lớp (Class Variables): Biến lớp khả dụng giữa các đối tượng khác nhau. Biến lớp thuộc về lớp và là một đặc điểm của lớp. Chúng được bắt đầu bằng ký tự @@ và theo sau là tên biến.
- Biến toàn cục (Global Variables): Biến toàn cục khả dụng giữa các lớp. Biến toàn cục luôn được bắt đầu bằng ký tự $.
Tạo object trong ruby bằng phương thức new
member1 = Member.new
member2 = Member.new
class Member
@@no_of_members = 0
def initialize(id, name, email)
@member_id = id
@member_name = name
@member_email = email
end
end
member1 = Member.new("1", "Alice", "alice@example.com")
member2 = Member.new("2", "Bob", "bob@example.com")
Các function trong class
class Library
def open_hours
puts "The library is open from 9 AM to 5 PM."
end
end
library_object = Library.new
library_object.open_hours
Nhận xét
Đăng nhận xét