01.lap trinhhuongdoituong

12

Click here to load reader

Upload: dung-dinh

Post on 08-Jul-2015

273 views

Category:

Education


2 download

TRANSCRIPT

Page 1: 01.lap trinhhuongdoituong

LTUDQL 2

©HCMUS. - 1 -

Lập trình hướng đối tượng với VB.NET

Bùi Tấn Lộc

[email protected]

Page 2: 01.lap trinhhuongdoituong

LTUDQL 2

©HCMUS.

1.Lớp đối tượng

• Khái niệm: trong lập trình lớp đối tượng được hiểu là sự kết

hợp giữa 2 thành phần:

• Thành phần dữ liệu

• Thành phần xử lý

• Cú pháp:

Class <TenLop>

'Thanh phan du lieu

'Thanh phan xu ly

End Class

- 2 -

Page 3: 01.lap trinhhuongdoituong

LTUDQL 2

©HCMUS.

1. Lớp đối tượng (tt)

• Ví dụ:

-Viết chương trình nhập vào

điểm toán, văn, tình điểm trung

bình của một học sinh rồi xuất

ra kết quả.

-Ghi chú: lớp HocSinh có 4

thuộc tính, 3 khả năng

Class HocSinh

Private _ten As String

Private _toan As Double

Private _van As Double

Private _dtb As Double

Public Sub Nhap()

End Sub

Public Sub Xuat()

End Sub

Public Sub XuLy()

End Sub

End Class

- 3 -

Page 4: 01.lap trinhhuongdoituong

LTUDQL 2

©HCMUS.

2.Đối tượng

• Khái niệm: đối tượng là sự thể hiện của một lớp. Trong một

lớp có thể có nhiều sự thể hiện khác nhau. Nói một cách khác

có thể có nhiều đối tượng cùng thuộc về một lớp.

• Cú pháp:

Dim <TenDoiTuong> As <TenLop>

• Ví dụ:

Dim a As HocSinh

Dim b As HocSinh

• Trong ví dụ trên ta nói a, b là 2 đối tượng của lớp HocSinh.

Lớp HocSinh có 2 thể hiện khác nhau.

- 4 -

Page 5: 01.lap trinhhuongdoituong

LTUDQL 2

©HCMUS.

3.Phương thức không có kiểu dữ liệu trả về

• Cú pháp:

Sub <TenPhuongThuc>()

'Than phuong thuc

End Sub

• Ví dụ:

Public Sub Nhap()

Console.Write("Nhap ten:")

_ten = Console.ReadLine()

Console.Write("Nhap diem toan:")

_toan = Console.ReadLine()

Console.Write("Nhap diem van:")

_van = Console.ReadLine()

End Sub

- 5 -

Page 6: 01.lap trinhhuongdoituong

LTUDQL 2

©HCMUS.

3.Phương thức không có kiểu dữ liệu trả về (tt)

Sub Xuat()

Console.Write("Ho ten: {0}", _ten)

Console.Write(" Toan: {0}", _toan)

Console.Write(" Van: {0}", _van)

Console.Write(" DTB: {0}", _dtb)

End Sub

Public Sub XuLy()

_dtb = (_toan + _van) / 2

End Sub

- 6 -

Page 7: 01.lap trinhhuongdoituong

LTUDQL 2

©HCMUS.

4.Phương thức có kiểu dữ liệu trả về

• Cú pháp:

Function <TenPhuongThuc>(<ThamSo>) As <KieuTraVe>

Dim <KetQua> As <KieuTraVe>

Return <KetQua>

End Function

- 7 -

Page 8: 01.lap trinhhuongdoituong

LTUDQL 2

©HCMUS.

5.Đối tượng hành động

• Khái niệm: đối tượng hành động là đối tượng yêu cầu thực

hiện 1 khả năng nào đó mà lớp nó thuộc về có

• Cú pháp:

<TenDoiTuong>.<TenPhuongThuc>(<ThamSo>)

• Ví dụ:

a.Nhap()

b.Nhap()

- 8 -

Page 9: 01.lap trinhhuongdoituong

LTUDQL 2

©HCMUS.

6.Ràng buộc đối tượng tham chiếu

• Khái niệm: trong ngôn ngữ

.NET, đối tượng trước khi sử

dụng phải tham chiếu đến

một vùng nhớ, nếu không sẽ

gây ra lỗi.

• Ghi chú: trong ngôn ngữ

.NET, các dữ liệu cơ sở, cấu

trúc là kiểu dữ liệu giá trị,

còn kiểu dữ liệu đối tượng là

kiểu dữ liệu tham chiếu

• Ví dụ:

Dim a As HocSinh

Dim b As HocSinh

a = New HocSinh()

a.Nhap()

b.Nhap() 'Xay ra loi do doi tuong b chua thamchieu den vung nho

Console.ReadLine()

- 9 -

Page 10: 01.lap trinhhuongdoituong

LTUDQL 2

©HCMUS.

10.Tích hợp vào trong một chương trình

• Xem demo và source code project HocSinhApp

- 10 -

Page 11: 01.lap trinhhuongdoituong

LTUDQL 2

©HCMUS.

11.Áp dụng

• Định nghĩa lớp DiemOxy trong mặt phẳng Oxy cùng với các

phương thức nhập, xuất.

• Định nghĩa lớp TamGiac trong mặt phẳng Oxy cùng với các

phương thức nhập, xuất.

• Định nghĩa lớp DuongTron trong mặt phẳng Oxy cùng với

các phương thức nhập, xuất.

- 11 -

Page 12: 01.lap trinhhuongdoituong

LTUDQL 2

©HCMUS.

11.Câu hỏi

- 12 -