Bây giờ, chúng ta hãy tạo một đối tượng ChàoMừng và sử dụng nó:
Khi đối tượng g
được tạo, nó nhớ rằng cái tên là Pat. Vậy nếu chúng ta muốn
lấy một cái tên trực tiếp thì sao?
Ồ, không thể làm được.
Bên trong của đối tượng
Các biến đối tượng thường ẩn trong trong đối tượng. Chúng không ẩn hoàn toàn, bạn sẽ thấy chúng mỗi khi khởi tạo một đối tượng và có nhiều cách để gọi chúng, nhưng Ruby sử dụng phương pháp tiếp cận hướng đối tượng tốt trong việc giữ dữ liệu ẩn đi phần nào.
Vậy những phương thức nào tồn tại cho đối tượng ChàoMừng?
Quá tuyệt! Có rất nhiều method hay phương thức. Chúng ta chỉ định nghĩa 2 phương
thức, vậy cái gì đây? Đó là tất cả các phương thức cho đối tượng Người chào
đón, một danh sách hoàn chỉnh bao gồm cả những phương thức được kế thừa. Nếu
chúng ta muốn một danh sách chỉ có các phương thức định nghĩa cho ChàoMừng,
chúng ta có thể loại bỏ các phương thức được kế thừa bằng cách thêm tham số
false
, nghĩa là chúng ta không muốn bất kỳ phương thức được kế thừa nào.
A, được hơn rồi đó. Bây giờ chúng ta hãy xem phương thức nào được đối tượng ChàoMừng phản hồi:
Nó hiểu được xin_chào
và to_s
(to string - chuyển sang chuỗi kí tự, một
phương thức mặc định cho mọi đối tượng), nhưng không biết tên
.
Thay thế các lớp - Không bao giờ là quá muộn
Nếu bạn muốn có thể xem hoặc thay đổi tên? Ruby cung cấp một cách dễ dàng để truy xuất dữ liệu tới các biến của một đối tượng.
Trong Ruby, bạn có thể mở một lớp ở phía trên và sửa nó. Sự thay đổi sẽ xuất
hiện trong các đối tượng mới mà bạn tạo và cả những đối tượng đã tồn tại của
lớp này. Vậy thì chúng ta hãy tạo một đối tượng mới và thử với thuộc tính
@tên
của nó.
Sử dụng attr_accessor
định nghĩa 2 phương thức mới cho chúng ta: tên
để
lấy giá trị và tên=
để gán giá trị.
MegaChàoMừng chào mừng tất cả mọi thứ
Trình chào mừng này không thú vị gì nếu nó chỉ chào được một người trong cùng một thời điểm. Sẽ thế nào nếu chúng ta có thể vài kiểu MegaChàoMừng có thể đồng thời chào Thế giới, chào một người nào đó hay một danh sách cá nhân?
Chúng ta sẽ viết trong một tập tin thay vì gõ trực tiếp trên IRB.
Để thoát IRB, gõ “quit”, “exit” hoặc tổ hợp phím Control-D.
Lưu tập tin này với tên “ri20min.rb”, và chạy nó “ruby ri20min.rb”. Màn hình sẽ hiện như này:
Xin chào Thế giới!
Tạm biệt Thế giới. Hẹn gặp lại!
Xin chào Zeke!
Tạm biệt Zeke. Hẹn gặp lại!
Xin chào Albert!
Xin chào Brenda!
Xin chào Charles!
Xin chào Dave!
Xin chào Engelbert!
Tạm biệt Albert, Brenda, Charles, Dave, Engelbert. Come
back soon!
...
...
Có rất nhiều thứ mới trong ví dụ cuối cùng này và chúng ta có thể có cái nhìn sâu hơn tại.