Khoanglang89
Bạn hãy đăng nhập hoặc đăng ký
Khoanglang89

NHẬN THIẾT KẾ WEBSITE/ SOFTWARE - LÀM ĐỒ ÁN TỐT NGHIỆP, ĐỒ ÁN CHUYÊN MÔN NGÀNH CÔNG NGHỆ THÔNG TIN


You are not connected. Please login or register

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down  Thông điệp [Trang 1 trong tổng số 1 trang]

1 Lớp và đối tượng – Phần 1 on Fri Nov 02, 2012 12:53 pm

LostSoul89

avatar

Admin
Admin
Loading
Lớp và đối tượng – Phần 1






Phương
pháp lập trình hướng đối tượng là lập trình có cấu trúc + trừu tượng
hóa dữ liệu. Có nghĩa chương trình tổ chức dưới dạng cấu trúc. Tuy nhiên
việc thiết kế chương trình sẽ xoay quanh dữ liệu, lấy dữ liệu làm trung
tâm.














1/- Lập trình có cấu trúc và lập trình hướng đối tượng
1.1/- Phương pháp lập trình cấu trúc

- Lập trình cấu trúc là tổ chức chương trình thành các chương trình
con. Trong một số ngôn ngữ như PASCAL có 2 kiểu chương trình con là thủ
tục và hàm, còn trong C++ chỉ có một loại chương trình con là hàm.

- Hàm là một đơn vị chương trình độc lập dùng để thực hiện một phần
việc nào đó như: Nhập số liệu, in kết quả hay thực hiện một số công việc
tính toán. Hàm cần có đối và các biến, mảng cục bộ dùng riêng cho hàm.

- Việc trao đổi dữ liệu giữa các hàm thực hiện thông qua các đối và các biến toàn cục.

- Một chương trình cấu trúc gồm các cấu trúc dữ liệu (như biến, mảng, bản ghi) và các hàm, thủ tục.

- Nhiệm vụ chính của việc tổ chức thiết kế chương trình cấu trúc là tổ chức chương trình thành các hàm, thủ tục.

Ví dụ, ta xét yêu cầu sau: Viết chương trình nhập toạ độ (x,y) của một dãy điểm, sau đó tìm một cặp điểm cách xa nhau nhất.

Trên tư tưởng của lập trình cấu trúc có thể tổ chức chương trình như sau:

♦ Sử dụng 2 mảng thực toàn bộ x và y để chứa toạ độ dãy điểm.

♦ Xây dựng 2 hàm:

Hàm nhapsl dùng để nhập toạ độ n điểm, hàm này có một đối là biến nguyên n và được khai báo như sau:




Hàm do_dai dùng để tính độ dài đoạn thẳng đi qua 2 điểm có chỉ số là i và j, nó được khai báo như sau:




Chương trình C của ví dụ trên được viết như sau:







1.2/- Phương pháp lập trình hướng đối tượng

Là lập trình có cấu trúc + trừu tượng hóa dữ liệu. Có nghĩa chương
trình tổ chức dưới dạng cấu trúc. Tuy nhiên việc thiết kế chương trình
sẽ xoay quanh dữ liệu, lấy dữ liệu làm trung tâm. Nghĩa là trả lời câu
hỏi: Chương trình làm việc với những đối tượng dữ liệu nào, trên các đối
tượng dữ liệu này cần thao tác, thực hiện những gì. Từ đó gắn với mỗi
đối tượng dữ liệu một số thao tác thực hiên cố định riêng của đối tượng
dữ liệu đó, điều này sẽ qui định chặt chẽ hơn những thao tác nào được
thực hiện trên đối tượng dữ liệu nào. Khác với lập trình cấu trúc thuần
túy, trong đó dữ liệu được khai báo riêng rẽ, tách rời với thao tác xử
lý, do đó việc xử lý dữ liệu thường không thống nhất khi chương trình
được xây dựng từ nhiều lập trình viên khác nhau.

Từ đó lập trình hướng đối tượng được xây dựng dựa trên đặc trưng
chính là khái niệm đóng gói. Đóng gói là khái niệm trung tâm của phương
pháp lập trình hướng đối tượng, trong đó dữ liệu và các thao tác xử lý
nó sẽ được qui định trước và "đóng" thành một "gói" thống nhất, riêng
biệt với các dữ liệu khác tạo thành kiểu dữ liệu với tên gọi là các lớp.
Như vậy một lớp không chỉ chứa dữ liệu bình thường như các kiểu dữ liệu
khác mà còn chứa các thao tác để xử lý dữ liệu này. Các thao tác được
khai báo trong gói dữ liệu nào chỉ xử lý dữ liệu trong gói đó và ngược
lại dữ liệu trong một gói chỉ bị tác động, xử lý bởi thao tác đã khai
báo trong gói đó. Điều này tạo tính tập trung cao khi lập trình, mọi đối
tượng trong một lớp sẽ chứa cùng loại dữ liệu được chỉ định và cùng
được xử lý bởi các thao tác như nhau. Mọi lập trình viên khi làm việc
với dữ liệu trong một gói đều sử dụng các thao tác như nhau để xử lý dữ
liệu trong gói đó. C++ cung cấp cách thức để tạo một cấu trúc dữ liệu
mới thể hiện các gói nói trên, cấu trúc dữ liệu này được gọi là lớp.

Để minh hoạ các khái niệm vừa nêu về kiêu dữ liệu lớp ta trở lại xét
bài toán tìm độ dài lớn nhất đi qua 2 điểm. Trong bài toán này ta gặp
một thực thể là dãy điểm. Các thành phần dữ liệu của lớp dãy điểm gồm:

♦ Biến nguyên n là số điểm của dãy.

♦ Con trỏ x kiểu thực trỏ đến vùng nhớ chứa dãy hoành độ.

♦ Con trỏ y kiểu thực trỏ đến vùng nhớ chứa dãy tung độ.

Các phương thức cần đưa vào theo yêu cầu bài toán gồm:

♦ Nhập toạ độ một điểm.

♦ Tính độ dài đoạn thẳng đi qua 2 điểm.

Dưới đây là chương trình viết theo thiết kế hướng đối tượng.











2/- Lớp và đối tượng
Trong lập trình hướng đối tượng, lớp (class) là một khái niệm rất
quan trọng, nó cho phép giải quyết các vấn đề phức tạp của việc lập
trình. Một lớp đơn (được định nghĩa như struct, union, hoặc class) bao
gồm các hàm và dữ liệu có liên quan. Các hàm này là các hàm thành phần
(member functon) hay còn là phương thức (method), thể hiện tác động của
lớp có thể được thực hiện trên dữ liệu của chính lớp đó (data member).

Cũng giống như cấu trúc, lớp có thể xem như một kiểu dữ liệu. Vì vậy
lớp còn gọi là kiểu đối tượng và lớp được dùng để khai báo các biến,
mảng đối tượng (như thể dùng kiểu int để khai báo các biến mảng nguyên).

Như vậy từ một lớp có thể tạo ra (bằng cách khai báo) nhiều đối tượng
(biến, mảng) khác nhau. Mỗi đối tượng có vùng nhớ riêng của mình và vì
vậy ta cũng có thể quan niệm lớp chính là tập hợp các đối tượng cùng
kiểu.

2.1/- Khai báo lớp

Để khai báo một lớp, ta sử dụng từ khoá class như sau:




Chú ý: Việc khai báo một lớp không chiếm giữ bộ nhớ, chỉcác đối tượng của lớp mới thực sự chiếm giữ bộ nhớ.

Thuộc tính của lớp có thể là các biến, mảng, con trỏ có kiểu chuẩn
(int, float, char, char*, long,...) hoặc kiểu ngoài chuẩn đã định nghĩa
trước (cấu trúc, hợp, lớp,...). Thuộc tính của lớp không thể có kiểu của
chính lớp đó, nhưng có thể là con trỏ của lớp này, ví dụ:




Hết phần 1





Nguồn: Internet

Xem lý lịch thành viên http://khoanglang89.forumvi.com

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang  Thông điệp [Trang 1 trong tổng số 1 trang]

Bài viết mới cùng chuyên mục

    Bài viết liên quan vớiLớp và đối tượng – Phần 1

      Permissions in this forum:
      Bạn không có quyền trả lời bài viết