Lớp và đối tượng – tham chiếu, đóng gói và kế thừa

Lớp và đối tượng – tham chiếu, đóng gói và kế thừa

Chạy từng bước các chương trình Python hoặc Java nhỏ định nghĩa lớp, tạo đối tượng và gọi phương thức, đồng thời xem vùng nhớ: biến trên ngăn xếp giữ mũi tên (tham chiếu) tới đối tượng trên heap, bên cạnh sơ đồ lớp UML. Sáu ví dụ gồm hàm tạo và trạng thái, bí danh và null, đối tượng làm tham số và giá trị trả về, đóng gói bằng getter và setter, kế thừa với ghi đè và đa hình, thành viên tĩnh. Chế độ Thử nghiệm cho em tự tạo đối tượng và sao chép tham chiếu; Bài thiết kế yêu cầu dựng sơ đồ lớp từ một đặc tả viết bằng lời.

Lập trình hướng đối tượng tổ chức chương trình thành các lớp và đối tượng; đây là nội dung mở rộng của mạch giải quyết vấn đề với sự trợ giúp của máy tính cho học sinh định hướng Khoa học máy tính. Trình mô phỏng chạy từng bước các chương trình Python và Java nhỏ dựng sẵn: lớp là bản thiết kế, mỗi đối tượng là một thể hiện có thuộc tính riêng, còn biến chỉ giữ tham chiếu (mũi tên) tới đối tượng trên heap. Sơ đồ lớp UML bên cạnh tô sáng phương thức đang chạy. Học sinh chọn một trong sáu ví dụ – lớp và phương thức, bí danh và null, đối tượng làm tham số và giá trị trả về, đóng gói bằng getter và setter, kế thừa và đa hình, thành viên tĩnh – rồi bấm Bước tiếp để xem từng dòng, các khung trên ngăn xếp và các mũi tên thay đổi. Chế độ Thử nghiệm cho tự tạo đối tượng Account, SavingsAccount, gán tham chiếu, gọi phương thức và thu gom rác. Bài thiết kế yêu cầu dựng sơ đồ lớp từ một đặc tả bằng lời rồi bấm Kiểm tra. Câu hỏi gợi ý: – Sau c2 = c1 và c2.increment(), vì sao c1.count cũng thay đổi? – Vì sao reset(p) không làm đổi biến ở nơi gọi, còn move_right(p, dx) lại làm đổi đối tượng của nơi gọi? – Trong vòng lặp qua pets, vì sao p.describe() in ra tiếng kêu khác nhau cho Dog và Cat?

Tham số điều chỉnh được

  • Chế độ
  • Bài thiết kế
  • Tốc độ chạy (0,5–5 bước/giây)
  • Ngôn ngữ
  • Ví dụ
4
Mở toàn màn hình
Mở toàn màn hình, chấm sao và lưu về tài khoản cần đăng nhập; tài khoản miễn phí.
Luôn dùng bản mới nhất; khi bạn sửa lần đầu mới tạo bản riêng, bản gốc không đổi.