Hướng đối tượng trong Pascal

Các bài viết trước Taimienphi.vn đã đề cập đến đơn vị, ngày và giờ trong Pascal, vì vậy trong bài viết tiếp theo trong chuỗi chủ đề về Pascal dưới đây, Taimienphi.vn sẽ cung cấp cho bạn các thông tin về hướng đối tượng trong Pascal bao gồm khái niệm và ví dụ minh họa.

Bạn có thể tưởng tượng vũ trụ của chúng ta được tạo nên từ các vật thể, đối tượng khác nhau như mặt trời, mặc trăng, trái đất, ... . Tương tự như vậy, bạn có thể tưởng tượng xe hơi được tạo nên từ các đối tượng như bánh xe, tay lái, bánh răng cưa,...Tương tự, hướng đối tượng trong Pascal là để bạn định hình, định hướng để có thể tạo ra một phần mềm hoàn chỉnh.

huong doi tuong trong pascal

Khái niệm lập trình hướng đối tượng (object-oriented programming) giả định tất cả mọi thứ là đối tượng và triển khai phần mềm bằng cách sử dụng các đối tượng khác nhau. Trong Pascal có 2 loại cấu trúc dữ liệu được sử dụng để triển khai một đối tượng thực:

- Kiểu đối tượng
- Kiểu lớp

Khái niệm hướng đối tượng trong Pascal

Trước khi đi vào tìm hiểu chi tiết, trước hết cần tìm hiểu các khái niệm quan trọng liên quan đến hướng đối tượng (Object-Oriented) trong Pascal.

- Đối tượng (Object): Đối tượng trong Pascal là kiểu bản ghi đặc biệt có chứa các trường như một bản ghi. Tuy nhiên không giống như các bản ghi, đối tượng trong Pascal còn chứa cả các hàm và thủ tục. Các hàm và thủ tục này được giữ như các con trỏ tới các phương thức kết hợp với kiểu của đối tượng.

- Lớp (class): Lớp trong Pascal được định nghĩa gần giống với đối tượng, chỉ khác ở chỗ cách mà lớp và đối tượng được tạo ra như thế nào. Lớp được phân bổ trên Heap của chương trình, còn đối tượng được phân bổ trên Stack. Lớp trong Pascal là con trỏ tới đối tượng chứ không phải đối tượng.

- Tạo đối tượng của lớp: Tạo đối tượng của lớp là tạo một biến của kiểu lớp đó. Vì lớp chỉ là con trỏ, khi biến của một kiểu lớp được khai báo, bộ nhớ chỉ phân bổ cho con trỏ chứ không phải toàn bộ đối tượng. Chỉ khi nó tạo đối tượng của lớp sử dụng một trong số các constructor, bộ nhớ sẽ được phân bổ cho đối tượng. Các đối tượng của lớp cũng được gọi là "đối tượng", nhưng đừng nhầm lẫn các đối tượng này với đối tượng trong Pascal.

Trong bài viết này Taimienphi.vn sẽ viết "Đối tượng" cho đối tượng trong Pascal và "đối tượng" cho khái niệm đối tượng hoặc đối tượng lớp để bạn đọc nhận biết rõ hơn.

- Các biến thành viên (member variable): Là các biến được định nghĩa trong một lớp hoặc Đối tượng trong Pascal.

- Các hàm thành viên (member function): Là các hàm hoặc thủ tục được định nghĩa trong 1 lớp hoặc Đối tượng trong Pascal và được sử dụng để truy cập dữ liệu đối tượng.

- Thuộc tính hiển thị của các thành viên: Các thành viên của Đối tượng hoặc lớp trong Pascal còn được gọi là các trường. Các trường này có các thuộc tính hiển thị khác nhau.Thuộc tính hiển thị đề cập đến khả năng tiếp cận của các thành viên, tức là vị trí chính xác mà các thành viên có thể được truy cập. Đối tượng trong Pascal có 3 cấp độ hiển thị: Public (công khai), Private (riêng tư) và Protected (bảo vệ).

- Tính kế thừa (Inheritance): Khi một lớp được định nghĩa bằng cách thừa kế các hàm hiện tại của lớp cha, nó được gọi là kế thừa. Ở đây lớp con sẽ kế thừa tất cả hoặc một số hàm thành viên và các biến của lớp cha. Đối tượng cũng có thể được kế thừa.

- Lớp cha (parent class): Lớp được kế thừa bởi lớp khác được gọi là lớp cơ sở hoặc lớp cha.

- Lớp con (child class): Lớp kế thừa từ lớp khác được gọi là lớp con.

- Đa hình (Polymorphism): Khái niệm hướng đối tượng trong Pascal này có thể hiểu tương tự như hàm được sử dụng cho các mục đích khác nhau. Chẳng hạn tên hàm giống nhau nhưng hàm lấy đối số và thực hiện các nhiệm vụ khác nhau. Các lớp trong Pascal thực hiện đa hình. Đối tượng không thực hiện đa hình.

- Chồng các hàm (Overloading): Nó là một kiểu đa hình, trong đó một số hoặc tất cả các toán tử được triển khai theo cách khác nhau, tùy thuộc vào kiểu và đối số. Tương tự chồng các hàm để thực hiện các nhiệm vụ khác nhau. Các lớp Pascal triển khai chồng các hàm, nhưng Đối tượng trong Pascal thì không.

- Kiểu dữ liệu trừu tượng (Data Abstraction): Bất kỳ đại diện của dữ liệu, trong đó các triển khi chi tiết bị ẩn.

- Tính đóng gói (Encapsulation): Đề cập đến khái niệm mà người dùng đóng gói tất cả dữ liệu và các hàm thành viên với nhau để tạo một đối tượng.

- Constructor: Là loại hàm đặc biệt, được gọi tự động bất cứ khi nào hình thành đối tượng từ một lớp hoặc đối tượng trong Pascal.

- Destructor: Đề cập đến loại hàm đặc biệt được gọi tự động bất cứ khi nào Đối tượng hoặc lớp bị xóa hoặc ra khỏi phạm vi.

Định nghĩa đối tượng trong Pascal

Đối tượng trong Pascal được sử dụng để khai báo kiểu. Cấu trúc chung của một khai báo đối tượng có dạng như sau:

huong doi tuong trong pascal 2

Định nghĩa Rectangle Object gồm 2 thành viên dữ liệu kiểu số nguyên - chiều dài và chiều rộng và một số hàm thành viên để thao tác các thành viên dữ liệu và thủ tục để vẽ hình chữ nhật.

huong doi tuong trong pascal 3

Sau khi tạo đối tượng, bạn có thể gọi các hàm thành viên liên quan đến đối tượng đó. Một hàm thành viên chỉ có thể xử lý một biến thành viên của đối tượng liên quan.

Dưới đây là ví dụ về cách thiết lập chiều dài và chiều rộng cho 2 đối tượng hình chữ nhật và vẽ bằng cách gọi các hàm thành viên.

huong doi tuong trong pascal 4

Ví dụ khác về cách sử dụng đối tượng trong Pascal:

huong doi tuong trong pascal 5

Khi đoạn mã trên được biên dịch và thực thi, nó sẽ trả về kết quả dưới đây:

huong doi tuong trong pascal 6

Thuộc tính hiển thị của các thành viên đối tượng

Thuộc tính hiển thị đề cập đến khả năng tiếp cận của các thành viên đối tượng. Thành viên đối tượng trong Pascal bao gồm 3 mức độ hiển thị:

huong doi tuong trong pascal 7

Mặc định, các trường và phương thức của một đối tượng được hiển thị công khai và được xuất ra bên ngoài đơn vị hiện tại.

Constructor và Destructor cho đối tượng trong Pascal

Constructor là loại phương thức đặc biệt, được gọi tự động bất cứ khi nào một đối tượng được tạo. Bạn có thể tạo một constructor trong Pascal bằng cách khai báo một phương thức bằng từ khóa constructor. Thông thường, tên phương thức là Init, tuy nhiên bạn có thể cung cấp định dạng hợp lệ bất kỳ của riêng mình. Bạn cũng có thể truyền nhiều đối số vào hàm constructor nếu muốn.

Destructor trong Pascal là các phương thức được gọi trong quá trình phá hủy đối tượng. Phương thức destructor phá hủy phân bổ bộ nhớ bất kỳ được tạo bởi constructor.

Ví dụ dưới đây cung cấp một constructor và một destructor cho lớp Rectangle, sẽ khởi tạo chiều dài và chiều rộng hình chữ nhật tại thời điểm tạo đối tượng và phá hủy khi nó vượt khỏi phạm vi.

huong doi tuong trong pascal 8

Khi đoạn mã trên được biên dịch và thực thi, nó sẽ trả về kết quả dưới đây:

huong doi tuong trong pascal 9

Tính kế thừa của đối tượng trong Pascal

Các đối tượng trong Pascal có thể tùy ý thừa kế từ một đối tượng cha. Chương trình dưới đây sẽ minh họa tính kế thừa của đối tượng trong Pascal, bằng cách tạo một đối tượng khác có tên TableTop, được kế thừa từ đối tượng Rectangle.

huong doi tuong trong pascal 10

huong doi tuong trong pascal 11

huong doi tuong trong pascal 12

Dưới đây là một số lưu ý quan trọng bạn cần biết:

- Đối tượng Tabletop đã thừa hưởng tất cả các thành viên của đối tượng Rectangle.

- Ngoài ra có 1 phương thức vẽ trong TableTop. Khi phương thức vẽ được gọi bằng cách sử dụng đối tượng TableTop, phương thức vẽ TableTop cũng được gọi.

Khi đoạn mã trên được biên dịch và thực thi, nó sẽ trả về kết quả dưới đây:

huong doi tuong trong pascal 13

https://thuthuat.taimienphi.vn/huong-doi-tuong-trong-pascal-34008n.aspx
Bài viết trên Taimienphi.vn vừa cung cấp cho bạn các thông tin liên quan đến hướng đối tượng trong Pascal. Ngoài ra, bạn có thể tìm hiểu thêm về lệnh vòng lặp trong Pascal. Bài viết tiếp theo Taimienphi.vn sẽ giới thiệu tiếp cho bạn về lớp trong Pascal. Đừng quên chia sẽ các thông tin hữu ích cho bạn bè, người thân của bạn nhé.

Tác giả: Trần Hoạt     (4.0★- 14 đánh giá)  ĐG của bạn?

  

Bài viết liên quan

Mảng trong Pascal
Thủ tục trong Pascal
Biến kiểu Variant trong Pascal
Unit, đơn vị trong Pascal
Phạm vi của biến trong Pascal
Từ khoá liên quan:

Pascal

, đối tượng trong Pascal, hướng đối tượng trong Pascal,

SOFT LIÊN QUAN
  • Pascal Study

    Lý thuyết và bài tập pascal

    Pascal Study là công cụ hỗ trợ bạn tự học lập trình Pascal hiệu quả. Phần mềm Pascal Study cung cấp đầy đủ các lý thuyết cơ bản và các bài tập thực hành từ dễ đến khó. Đặc biệt bạn có thể thực hành bằng cách viết chương ...
  • Pascal Phần mềm học lập trình Pascal
  • Pascal Analyzer Lite Phân tích, kiểm tra mã nguồn Pascal
  • Free Pascal Phần mềm học lập trình Pascal cơ bản và nâng cao
  • Olala Pascal Soạn thảo và biên dịch mã nguồn Pascal
  • CodeTyphon Trình biên dịch, khử lỗi Pascal

Tin Mới

  • Cách sử dụng Pascal Online, học lập trình trực tuyến

    Nếu bạn đang cảm thấy khó khăn trong việc cài đặt môi trường và phần mềm để lập trình Pascal, hoặc bạn chỉ cần chạy thử một đoạn code nhỏ, không muốn cài quá nhiều thứ vào máy của mình. Taimienphi có một cách sử dụng Pascal Online trực tiếp trên website, không cần cài đặt.

  • Biến và cách khai báo của Pascal

    Bạn mới làm quen với Pascal, vậy hãy cùng tham khảo thêm biến và cách khai báo của Pascal dưới đây để trau dồi thêm nhiều kiến thức hữu ích, giúp hiểu rõ và sử dụng Pascal dễ dàng, hiệu quả.

  • Ưu và nhược điểm của Pascal so với ngôn ngữ lập trình khác

    Pascal là một ngôn ngữ lập trình dành cho các bạn theo học ngành lập trình, công nghệ thông tin. So với các ngôn ngữ khác, Pascal cho phép soạn thảo ở trên nhiều cửa sổ khác nhau cùng lúc và khả năng xử lý nhanh chóng,

  • Lời bài hát Hành Khúc Thanh Niên Tình Nguyện

    Với lời bài hát Hành Khúc Thanh Niên Tình Nguyện ý nghĩa, truyền được cảm hứng cho thế hệ trẻ nên cứ vào ngày 26/3 lại được cất lên. Các bạn có thể xem lời bài hát này để có thể hát theo, giúp chương trình diễn ra tốt đẹp, hào hùng hơn.