Tải bản đầy đủ (.pdf) (29 trang)

Lập trình lớp và đối tượng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (824.35 KB, 29 trang )

VIỆN ĐẠI HỌC MỞ HÀ NỘI
HA NOI OPEN UNIVERSITY
Bài giảng Kỹ thuật lập trình hướng đối tượng
1
Chương 3
LẬP TRÌNH LỚP VÀ ĐỐI TƯỢNG
18/10/2013
Mục tiêu và yêu cầu
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng
2
• Cung cấp các khái niệm, kỹ thuật xây dựng lớp (class)
trong lập trình hướng đối tượng.
Mục tiêu
• Nắm được khai báo và định nghĩa lớp, khai báo các
biến, mảng đối tượng (kiểu lớp), các kỹ thuật lập trình
xử lý trong lớp đối tượng, phương thức, dùng con trỏ
this trong phương thức, phạm vi truy xuất của các
thành phần.
Yêu cầu
Tài liệu tham khảo
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng
3
 Chương 3: Giáo trình Kỹ thuật lập trình hướng đối tượng –
Khoa CNTT – Viện Đại học Mở Hà Nội.
 Lập trình Hướng đối tượng với Java, Đoàn Văn Ban, NXB
Khoa học kỹ thuật, 2003.
Nội dung bài học
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng


4
• Khai báo và định nghĩa lớp.
• Khai báo các biến, mảng đối tượng (kiểu lớp).
• Các kỹ thuật lập trình xử lý trong lớp đối tượng, phương thức.
• Con trỏ this trong phương thức.
• Phạm vi truy xuất của các thành phần.
Khái niệm
3.1. Phân tích đối tượng và thiết kế lớp
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng
5
 Lớp và đối tượng
• Lớp là tập hợp các đối tượng có cùng bản chất.
• Lớp như một khuôn mẫu (template) của đối tượng (Object).
• Lớp là trừu tượng, đối tượng là thực thể xác định.
Lớp(class)
Đối tượng 1 Đối tượng 2 Đối tượng k
Lớp (class) và đối tượng (object)
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng
6
Ví dụ:
class object
sinh viên Nguyễn Văn A
Trần Văn B
Ô tô xe tải
xe con
3.1.1. Phân tích đối tượng
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng

7
 Phân tích và phát triển một hệ thống phần mềm hướng đối
tượng:
• Phân tích yêu cầu (Requirement analysis)
• Phân tích hệ thống (System analysis)
• Thiết kế hệ thống (System design)
• Lập trình (Programming)
• Kiểm tra (Testing)
3.1.1. Phân tích đối tượng (tiếp)
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng
8
Mô hình hóa đối tượng phần mềm:
Đối tượng
Thuộc tính
Hành động
Xe máy
 Nhãn hiệu
 Màu sắc
 Nước sản xuất
 Dung tích xi lanh
 Năm sản xuất
 Giá thành
 Khởi động
 Di chuyển
 Chuyển số
 Phanh
 Nhập thông tin
 Sửa màu sắc
 Sửa giá thành

3.1.2. Phân tích tương tác
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng
9
- Gửi/nhận thông điệp giữa các đối tượng.
- Thông điệp có thể chỉ là yêu cầu đơn giản (hàm không tham số)
hoặc phức tạp (hàm có tham số - parameters)
Giá?
Khách
hàng
400
Xe
máy
3.1.3. Thiết kế lớp
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng
10
- Thiết kế lớp => thiết kế mẫu => tạo ra các đối tượng có cùng
bản chất (cùng thuộc tính và phương thức).
3.2. Cài đặt lớp (class)
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng
11
- Trong java, một lớp được định nghĩa theo cú pháp:
[public] [final] [abstract] class <tên_lớp>
{
// khai báo các thuộc tính của lớp
kiểu_dữ_liệu <tên_biến>;
// khai báo các phương thức của lớp
kiểu_dữ_liệu <tên_hàm(kiểu_dữ_liệu tên_biến_tham_số)>

{
//Các lệnh trong thân phương thức.
}
}
3.2. Cài đặt lớp (class)
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng
12
- Trong đó:
• public: xác định gói (package) khác có thể sử dụng được
lớp này.
• abstract: Lớp trừu tượng
• final: Lớp hằng – không thể kế thừa
• extends: Lớp này được kế thừa từ lớp khác
• implements: tạo giao diện (kế thừa bội)
3.2. Cài đặt lớp (class)
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng
13
- Ví dụ:
public class SINHVIEN
{ String masv,hoten;
Calendar Ngaysinh;
Boolean gt;
public void nhap()
{ //Các lệnh nhập thông tin sinh viên
}
public int tuoi()
{ //Các lệnh tính và trả về tuổi của sinh viên
}

}
3.2. Cài đặt lớp (class)
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng
14
 Khai báo thuộc tính:
public class <Tên_lớp>
{
[Phạm_vi] <kiểu_dữ_liệu> <tên_biến>;
}
- Thuộc tính của lớp là một biến có kiểu dữ liệu bất kỳ, nó có
thể lại là một biến có kiểu là chính lớp đó.
3.2. Cài đặt lớp (class)
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng
15
 Phạm vi:
• private: Các thành phần private chỉ có thể được truy nhập từ
bên trong thân các phương thức của lớp đó.
• protected: Các thành phần protected cũng giống với private
nhưng có thể truy nhập từ bất cứ lớp con nào kế thừa từ nó.
• public: Các thành phần public có thể được truy nhập từ bên
trong lẫn bên ngoài lớp.
*) Mặc định (không sử dụng các từ khóa trên): sự truy nhập là
bạn bè, tức là thành phần này có thể được truy nhập từ bất cứ
lớp nào trong cùng gói với lớp đó.
3.2. Cài đặt lớp (class)
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng
16

 mô hình cơ chế phạm vi:
Lớp A
Tệp chương trình (*.java)
private
protected
public
3.2. Cài đặt lớp (class)
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng
17
 mô hình cơ chế phạm vi:
3.2. Cài đặt lớp (class)
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng
18
 Khai báo phương thức:
public class <Tên_lớp>
{
[<Phạm vi>]<Kiểu trả về> <Tên hàm >
([<DS tham biến>]) [<Mệnh đề throws>]
{
//Các lệnh trong thân phương thức
}
}
3.2. Cài đặt lớp (class)
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng
19
 Khai báo phương thức:
<Kiểu trả về> có thể là kiểu nguyên thủy, kiểu lớp hoặc

không có giá trị trả lại (kiểu void).
<DS tham biến> bao gồm dãy các tham biến (kiểu và tên)
phân cách với nhau bởi dấu phẩy.
<Phạm vi> chỉ tính chất của phương thức, có thể có các từ
khóa thể hiện như sau: public, protected, private, mặc định
(không chỉ rõ tính chất nào), static, abstract, final, native,
synchoronized.
<Mệnh đề throws>: là một đối tượng đặc biệt được tạo ra khi
chương trình gặp lỗi.
Một số chú ý
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng
20
 Nếu trong lớp có ít nhất một phương thức trừu tượng thì lớp đó
phải là lớp trừu tượng.
 Không có thuộc tính trừu tượng.
 Ta không thể tạo đối tượng của lớp trừu tượng.
 Phải khai báo giá trị trả về cho phương thức, nếu phương thức
không trả về dữ liệu thì dùng từ khóa void.
3.3. Khai báo và sử dụng đối tượng
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng
21
 Khai báo đối tượng:
- Sau khi định nghĩa một lớp ta có thể xem lớp như là một
kiểu dữ liệu, vì vậy ta có thể khai báo và tạo các biến, mảng
đối tượng:
<Tên lớp> <Tên biến đối tượng>;
<Tên lớp> [] <Tên biến mảng>;
Ví dụ:

SINHVIEN a;
SINHVIEN [] b;
3.3. Khai báo và sử dụng đối tượng
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng
22
 Sử dụng đối tượng:
- Tạo đối tượng:
<Tên biến đối tượng> = new <Tên lớp>();
<Tên mảng đối tượng> = new <Tên lớp>[số lượng phần tử];
Ví dụ:
a = new SINHVIEN;
b = new SINHVIEN[10];
3.3. Khai báo và sử dụng đối tượng
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng
23
 Truy xuất đến các thành phần của đối tượng:
<biến_đối_tượng>.<tên_thuộc_tính>
<biến đối tượng>.tên_phương_thức ([danh sách đối số]);
- Với mảng đối tượng, sau khi tạo mảng ta cần thêm bước tạo
các phần tử của mảng đó:
int i,n;
b = new SINHVIEN[n];
for(i=0;i<n;i++)
b[i]= new SINHVIEN();
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng
24
 Ví dụ 01:

 Xây dựng lớp hình tròn (HINHTRON) với:
• Thuộc tính: bán kính
• Phương thức: nhập, tính chu vi, diện tích
 Tạo một đối tượng hình tròn, gọi phương thức nhập hình tròn
và hiện chu vi, diện tích của hình tròn.
Các ví dụ
18/10/2013
Bài giảng Kỹ thuật lập trình hướng đối tượng
25
 Ví dụ 02:
 Xây dựng lớp sinh viên (SINHVIEN) với các thành phần sau:
• Thuộc tính: mã sinh viên, họ tên, ngày sinh, giới tính.
• Phương thức: Nhập, hiện.
 Sử dụng lớp trên:
• Tạo và nhập một đối tượng sinh viên.
• Hiện thông tin sinh viên.
Các ví dụ

×