Thao tác trên hệ thống lớp

Một phần của tài liệu Tài liệu Lập trình trí tuệ nhân tạo Prolog pptx (Trang 88 - 93)

Công việc quan trọng trong việc lập trình hướng đối tượng là định nghĩa các lớp và phương thức mới. Điều này sẽđược thực hiện trong cửa sổ duyệt lớp. (Từ menu File của cửa sổ transcript, chọn mục Browse Classes hoặc nhấn Alt-B). Cửa sổ này sẽ có dạng như hình sau:

Cửa sổ mô tả cây các lớp đang tồn

tại Cửa sổ mô tả các

thuộc tính Cửa sổ mô tả nội dung phương thức/ lớp đang lựa chọn

Cửa sổ mô

tả các

phương thức

Với cấu trúc các lớp như trên, lập trình viên có thể tùy ý thay đổi nội dung các lớp của hệ thống như sau:

• Tìm kiếm lớp

Chọn menu Classes\Find Class trên menu chính. Gõ tên lớp cần tìm vào hộp hội thoại (chú ý vấn đề chữ hoa hoặc chữ thường)

• Thêm lớp mới

Để thêm một lớp mới vào hệ thống qua các thao tác thiết kế trên cây các lớp, hãy thực hiện theo trình tự sau:

. Lựa chọn lớp cha

. Thêm subclass bằng cách lựa chọn trên menu chính Class\Add Subclass hoặc lựa chọn trên pop-up menu bằng cách dùng phím phải chuột.

. Gõ tên subclass vào hộp hội thoại • Thay đổi trên các lớp:

+ Thay đổi trên propeties: Có thể thêm bớt, thay đổi tên các thuộc tính thông qua cửa sổ mô tả nội dung lớp đang lựa chọn (thêm/ bớt dạng text ở vị trí thích hợp).

+ Thay đổi trên phương thức: Có thể thêm và xoá các phương thức thông qua các menu.

2. Lập trình

Đây là công việc chính của các lập trình viên. Như đã nói, lập trình viên có thể viết và biên dịch các kịch bản bằng hai cách online( việc biên dịch sẽ dựa trên ngữ cảnh chương trình đang chạy) hoặc offline (độc lập ngữ cảnh). Phần này chỉ trình bày phần biên dịch online.

Tạo lớp mới:

Để tạo một lớp mới, trước tiên chúng ta phải chọn lớp cha của lớp đó trong cửa sổ mô tả cây các lớp. Sau đó, chọn menu Classes/ Add subclass và gõ tên lớp mới này vào trong hộp thoại New Class như trong hình bên dưới. Lớp mới được tạo ra sẽ mặc nhiên được thừa kế tất cả các phương thức và thuộc tính của lớp cha. Tuy nhiên, thông tin về các phương thức thừa kế này sẽ không được hiển thị ra.

Để thêm một thuộc tính vào một lớp, đầu tiên chúng ta phải chọn tên lớp ở cửa sổ cây phân cấp lớp (chú ý là chỉ chọn tên lớp mà không chọn phương thức cho lớp). Khi chọn xong tên lớp thì trong cửa sổ mô tả nội dung phương thức/lớp đang chọn sẽ hiển thị thông tin về lớp đó. Ví dụ trong hình sau sẽ thêm 2 thuộc tính thường là b, c vào giữa hai dấu nháy đơn của phần instanceVariableNames và thuộc tính lớp (viết hoa) D vào phần classVariableNames cho lớp A. Sau khi thêm xong thì ta chọn File/ Save hoặc Alt-S để dịch.

Tạo phương thức mới:

Lựa chọn trên các menu: lựa chọn Method/New method trên menu chính hoặc lựa chọn trên popup - menu khi click phím phải chuột trong vùng cửa sổ mô tả các phương thức dành cho lớp. Tùy yêu cầu của mình, lập trình viên lựa chọn giữa việc thêm vào một phương thức thường (instance method) hoặc phương thức cho lớp (class method). Lưu ý là phải chọn lớp trước rồi mới tạo phương thức mới. Nói cách khác, lập trình viên phải biết rõ phương thức cần xây dựng là thuộc lớp nào.

Thuộc tính lớp của lớp A Thuộc tính thực thể của lớp A

Sau khi chọn New method, Vwin sẽ tạo tự động một phương thức mẫu (pattern) trong cửa sổ mô tả nội dung lớp/ phương thức như hình sau:

Nhìn trên phương thức mẫu này, chúng ta thấy một phương thức thường sẽ bắt đầu bằng tên của phương thức, các ghi chú, khai báo biến và cuối cùng là các phát biểu. Ghi chú trong Vwin được đặt giữa hai dấu nháy kép “”.

Soạn thảo phần thân của phương thức.

Người sử dụng soạn thảo nội dung của phương thức trực tiếp trong vùng mô tả nội dung lớp/ phương thức này. Nếu là phương thức có thông số, người sử dụng cần thêm tên của thông số vào phần tên phương thức.

Dịch phương thức

Chọn trên menu File/Save hoặc dùng phím tắt Alt-S để dịch phương thức. Khi phương thức được dịch thành công, cửa sổ mô tả các phương thức của lớp sẽ xuất hiện tên của phương thức mới vừa tạo được. Chú ý là phương thức lúc này chưa thật sựđược lưu vào dĩa cứng mà chỉđược lưu tạm trong bộ nhớ mà thôi. (adsbygoogle = window.adsbygoogle || []).push({});

Chú thích

Soạn thảo phần thân của method Tên method

Thực thi phương thức

Để kiểm tra phương thức, người ta thường viết một đoạn script trong cửa sổ Transcript (Xem phần II.1).

Một phần của tài liệu Tài liệu Lập trình trí tuệ nhân tạo Prolog pptx (Trang 88 - 93)