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

Tổng quan về lập trình hướng đố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 (45.68 KB, 15 trang )




Chương 1

Tổng quan về

lập trình hướng đối tượng







Vài nét về sự phát triển của các ngôn ngữ lập trình


Các khái niệm cơ bản của lập trình hướng đối tượng

Lớp và Đối tượng (Class & Object)

Thông báo (Message)

Tính đóng gói (Encapsulation)

Tính kế thừa (Inheritance)

Tính đa hình (Polymorphism)



Tổng quan về ngôn ngữ lập trình hướng đối tượng C++

Xuất/Nhập (Console I/O)

Chú thích (Comment)

Khái niệm về quá tải hàm (Function Overloading)

Các từ khoá (Keywords)





Chương 1
Tổng quan về Lập trình hướng đối tượng




2



































Chương 1
Tổng quan về Lập trình hướng đối tượng





3
I/ Vài nét về sự phát triển của các ngôn ngữ lập trình

Ngôn ngữ lập trình phát triển qua hai lý do :
(1) để thích ứng với sự phát triển của môi trường (các hệ máy tính, các mạng).
(2) bổ sung tốt hơn cho các phương pháp lập trình.


Vào thập niên 1940, chiếc máy tính điện tử đầu tiên ENIAC I (
Electronic
Numerical Integrator and Calculator
) được chế tạo tại ĐH Pennsylvania, USA,
bởi nhóm John W. Mauchly và J. Presper Eckert. Các chương trình (
program
)
lúc đó được lập ra bằng các quá trình đóng mở các công tắc trên một bảng đặt
trước máy tính. Ngôn ngữ máy (
Machine language
) với những chuổi nhò phân
0,1,... có độ dài qui ước chỉ thích hợp với các chương trình nhỏ nhất.


Sau đó John von Neumann (
ĐH Princeton, USA
) đã đề xuất khái niệm
chương
trình lưu trữ
trong bộ nhớ máy tính, ý tưởng này không những cải tiến tốc độ tính
toán của máy tính lúc đó mà còn gợi ra những phương pháp linh hoạt để viết các

chương trình trong tương lai. Hợp ngữ (
Assembly language
) được tạo ra cho phép
viết các chương trình dài hơn.


Cuối thập niên 1950 và đầu thập niên 1960, các ngôn ngữ cấp cao đã ra đời như
FORTRAN (
FORmula TRANslator
) dùng cho các tính toán về toán học và
COBOL (
COmmon Business Oriented Language
) dùng trong lónh vực thương
mại. Ngôn ngữ BASIC (
Beginners All-purpose Symbolic Instructional Code
)
được phát triển lần đầu tiên trên các máy vi tính (micro-computer) nhằm giúp
các sinh viên dễ học và tiếp cận với các chương trình máy tính.

Các
ngôn ngữ lập trình có cấu trúc
như ALGOL và PASCAL ra đời giúp loại bỏ
các nhược điểm như rối loạn mã khó quản lý khi số lệnh trong chương trình dài
hàng ngàn dòng.


Đầu thập niên 1970 ngôn ngữ C (do Denis Ritchie) được ra đời tại AT&T Bell
Labs, USA. Ngôn ngữ C tổng hợp các sức mạnh của các ngôn ngữ lập trình cấu
trúc khác, dể hiểu, dể học và trở nên phổ biến với mọi người. Tháng 12/1989,
ngôn ngữ C được ANSI (American National Standards Insitute) chuẩn hoá và

thông qua.


Chương 1
Tổng quan về Lập trình hướng đối tượng




4

Lập trình có cấu trúc (hay còn gọi là lập trình thủ tục)
dựa vào các cấu trúc điều
khiển (for, while, do, if, ...) đã được đònh nghiã, các khối mã lệnh, ít dùng lệnh
GOTO, các chương trình con hỗ trợ phép đệ qui và các biến cục bộ.

Main program


Function 1 Function 2 Function 3


Function 4 Function 5


Function 6 Function 7 Function 8

Hình 1.1
Các chương trình hướng-thủ tục (lập trình cấu trúc)



Một chương trình lớn được chia thành nhiều chương trình con cho nhiều nhóm lập
trình khác nhau cùng làm việc, với số dòng lệnh đến vài chục ngàn dòng, giúp dễ
dàng bảo trì và phát triển phần mềm.


Global Data Global Data



Function-1 Function-2 Function-3
Local Data Local Data Local Data

Hình 1.2
Quan hệ giữa dữ liệu và hàm trong lập trình hướng-thủ tục


Đầu thập niên 1980, ngôn ngữ C++ (
dựa trên ngôn ngữ C, Bjarne Stroustrup
giới thiệu
) và ngôn ngữ Smalltalk (
Xerox PARK
) được phát triển nhằm hổ trợ
cho phương pháp lập trình hướng đối tượng (
Object Oriented Programming
),
phương pháp này đã được đề xuất từ cuối thập niên 1960 với ngôn ngữ Simula.
C++ được chuẩn hoá vào tháng 11/1997 và một chuẩn ANSI/ISO đã công bố.

Chương 1

Tổng quan về Lập trình hướng đối tượng




5
Lập trình hướng đối tượng sử dụng C++ tạo nên sự biến đổi sâu sắc, giúp lập
trình viên có thể quản lý những chương trình lớn và phức tạp (hơn 100.000 dòng
lệnh).

Thập niên 1990, với sự phát triển mạnh mẽ của mạng World Wide Web, một
cuộc cách mạng mới trong kỹ thuật lập trình đã xảy ra. Ngôn ngữ JAVA do
James Gosling, Patrick Naughton, Christ Warth, và Mike Sheridan phát triển tại
hãng Sun Microsystem. Tên chính thức được công bố vào năm 1995.


JAVA là ngôn ngữ lập trình hướng đối tượng không phụ thuộc vào thiết bò (các
bộ vi xử lý, hệ điều hành, mạng, ...). JAVA được thiết kế không phải để thay
thế C++, mà để giải quyết những vấn đề đang đặt ra cho nền công nghệ tin học.


Phương pháp lập trình hướng đối tượng
cho phép phân chia một bài toán thành
các nhóm nhỏ có quan hệ với nhau.
Mỗi nhóm là một đối tượng chứa các lệnh và
dữ liệu riêng của nó có quan hệ với đối tượng đó
.

Nhờ đó, tính phức tạp của chương trình được giảm xuống, người lập trình có thể
quản lý những chương trình rất lớn, chẳng hạn hệ điều hành Windows và những

chương trình ứng dụng trên đó là những minh chứng cho phương pháp này.

Object A Object B

Data Data


Functions Functions


Object C


Functions


Data

Hình 1.3
Tổ chức của dữ liệu và các phương thức trong lập trình hướng-đối tượng

Các đặc tính quan trọng trong lập trình hướng đối tượng :
Chương 1
Tổng quan về Lập trình hướng đối tượng




6


Tính đóng gói (Encapsulation)

Tính kế thừa (Inheritance)

Tính đa hình (Polymorphism)


II/ Các khái niệm cơ bản của lập trình hướng đối tượng

1/ Lớp (Class) và Đối tượng (Object)
Các đối tượng là các thực thể (entities) cơ sở khi chạy chương trình (run-time) trong
một hệ thống hướng đối tượng
.

Chúng có thể biểu diễn một con người, một vò trí, một tài khoản ngân hàng, một
bảng dữ liệu hoặc bất kỳ một đề mục (item) nào mà chương trình cần dùng để thực
hiện các tác vụ (tasks).

Object : SINHVIEN SINHVIEN
DATA
Tên Nhập()
Ngày sinh
Điểm
.... TrungBình()
FUNCTIONS
Nhập()
TrungBình() HiểnThò()
HiểnThò()
(a) (b)



Hình 1.4
Hai cách biểu diễn một đối tượng

Bên trong một chương trình có thể viết các dòng lệnh (instructions) để tạo ra các đối
tượng. Để máy tính có thể tạo ra đối tượng, chúng ta cần phải cung cấp một đònh
nghiã, gọi là lớp.

Lớp là một dạng khuôn (mould , template) qua đó chương trình máy tính dùng để tạo
ra các đối tượng.


Một đối tượng được gọi là một
thể hiện (instance)
của một lớp. Một đối tượng là một
thể hiện chính xác
của một lớp.
Khi đònh nghiã một lớp, còn được xem là
tạo ra một kiểu dữ liệu mới
từ người dùng.

×