Ngôn ngữ lập trình hướng đối tượng Thể hiện các thành phần của bài toán là các “đối tượng” Object Hướng đối tượng là một kỹ thuật để mô hình hoá hệ thống thành nhiều đối tượng... Đối
Trang 1LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
CHƯƠNG 1 TỔNG QUAN VỀ OOP
Trang 2Tổng quan OOP 2
Nội dung
1 Lập trình hướng đối tượng
2 Công nghệ hướng đối tượng
3 Ngôn ngữ lập trình Java
4 Ví dụ và bài tập
Trang 31.1 Lịch sử phát triển của ngôn ngữ lập trình
Là một ngôn ngữ lập trình tuần tự
Khó nhớ, khó viết, nhất là đối với những bài toán phức tạp
Khó sửa lỗi, bảo trì
Trang 41.1 Lịch sử phát triển của ngôn ngữ lập trình
Xây dưng chương trình dựa trên các hàm/thủ tục/chương
trình con
Dữ liệu và xử lý (hàm) tách rời nhau
Các hàm không bắt buộc phải tuân theo một cách thức
chung truy cập vào dữ liệu
Trang 51.1 Lịch sử phát triển của các NNLT
c Ngôn ngữ lập trình hướng đối tượng
Thể hiện các thành phần của bài toán là các “đối tượng” (Object)
Hướng đối tượng là một kỹ thuật để mô hình hoá hệ thống thành nhiều đối tượng
Trang 61.2 Đối tượng là gì
Đối tượng trong thế giới thực
Ví dụ một khách hàng sử dụng thẻ ATM
Liên quan tới khách hàng
Các thông tin cá nhân: tên, tuổi, số tài khoản, lượng tiền đang có trong tài
khoản
Hoạt động: Đăng ký làm thẻ ATM, huỷ thẻ, Rút tiền, nạp tiền,…
Trang 7Đối tượng trong thế giới thực
Một đối tượng trong thế giới thực là một thực thể cụ thể mà thông thường chúng
ta có thể sờ,nhìn thấy hay cảm nhận được
Sủa Vẩy tai Chạy ăn
Xe đạp Bánh xe
Bàn đạp
Tăng tốc Giảm tốc
Trang 8Thuộc tính được xác định bởi các giá trị gọi là thuộc tính thể hiện
Một thuộc tính cụ thể được gọi là một thể hiện
Trang 9Tương tác giữa các đối tượng ?
Trang 10Hướng cấu trúc vs Hướng ĐT
Hướng cấu trúc
Data structiures + algorithms = Program
Hướng đối tượng
Object + message = Program
Trang 111.3 Lớp đối tượng
Trong thế giới có nhiều đối tượng cùng loại
Ví dụ: Tên, Tuổi, Trường, Khoa, đăng kí học, ? Bạn nghĩ tới ?
Một lớp là một thiết kế (blueprint) hay mẫu (prototype) cho các đối tượng cùng kiểu
Lớp sẽ định nghĩa tất cả các thuộc tính và phương thức chung cho tất cả các đôi tượng của cùng một loại nào đó
Ví dụ: mỗi một đối tượng sinh viên là một thể hiện của lớp sinh viên
Mỗi thể hiện có thể có những thuộc tính thể hiện khác nhau.
Ví dụ ?
Trang 12Tổng quan OOP 12
Nội dung
1 Lập trình hướng đối tượng
3 Ngôn ngữ lập trình Java
4 Ví dụ và bài tập
Trang 132 Công nghệ đối tượng (OT)
Công nghệ đối tương là một tập các quy tắc (trừu tượng hoá, đóng gói, đa hình), các hướng dẫn để xây dựng phần mềm, cùng với ngôn ngữ, cơ sở dữ liệu và các công cụ khác hỗ trợ các quy tắc này
1967 Simula
1972
smaltalk
1980 C++
1991
Java
2004
UML 2.0 1995
The UML
Trang 152.2 Các nguyên lý cơ bản của OO
Modun hoá Phân cấp
HƯỚNG ĐỐI TƯỢNG
Trừu tượng
hoá
Đáng gói
Trang 16a Trừu tượng hoá
Tính trừu tượng được sử dụng để quản lý các đối tượng phức tạp
Tập trung vào các thuộc tính cần thiết
Tóm lược nội dung chính của vấn đề
Tìm ra những điểm chung giữa các đối tượng
Định nghĩa một giao kèo chung
Định nghĩa giao kèo chung cho các người sử dụng đối tượng
Quy hoạch “outsite -view”
Độc lập của sự thi hành
Trang 17b Đóng gói (Encapsulation)
Che dấu, ẩn đi chi tiết thực hiện bên trong
Cung cấp cho thế giới bên ngoài một giao diên
Người dùng ko phụ thuộc vào việc sửa đổi, thực thi bên trong
Tăng cường tính mềm dẻo
Trang 18Tổng quan OOP 18
Public methods of Order
Implementation Outside View
CreateOrder UpdateOrder GetOrderTotal Next
Trang 21Nội dung
1 Lập trình hướng đối tượng
2 Công nghệ hướng đối tượng
4 Ví dụ và bài tập
Trang 24Tổng quan OOP 24
Trang 25J2SE (Java 2 Platform Standard Edition)
http://java.sun.com/j2se
Java 2 Runtime Environment, Standard Edition (J2RE):
Môi trường thực thi hay JRE cung cấp các Java API, máy ảo Java (JVM) và các thành phần cần thiết khác để
chạy cá applet và các ứng dụng viết bằng Java
Java 2 Software Development Kit, Standard Edition (J2SDK)
Tập mẹ của JRE, và chứa mọi thứ nằm trong JRE, bổ xung thêm các công cụ như là trình biên dịch và các trình gỡ lỗi cần để phát triển một applet và các ứng dụng
Trang 26J2EE (Java 2 platform Enterprise Edition)
Trang 273.2 Nền tảng của Java (Java PlatForm)
Platform là môi trường phát triển hoặc triển khai
Java platform có thể chạy trên mọi hệ điều hành
Các platform khác nhau nhụ thuộc vào phần cứng
Java Platform cung cấp:
Máy ảo Java (JVM)
Giao diện lập trình ứng dụng (API)
JMV
Host PlatForm Java Program
Java API
Trang 283.3 Mô hình dịch của Java
a Mô hình biên dịch truyền thống
Mã nguồn được biên dịch thành mã nhị phân
Trang 293.3 Mô hình dịch của Java
b Mô hình biên dịch của Java
Trang 303.3 Mô hình dịch của Java
Máy ảo Java (Java vitual Machine)
Máy ảo Java là trái tim của ngôn ngũ Java
Đem đến cho các chương trình Java khả năng viết một lần nhưng chạy được ở mọi nơi
Tạo ra môi trường bên trong để thực thi lệnh:
Nạp các file class
Quản lý bộ nhớ
Dọn rác
Trình thông dịch “Just In Time -JIT”
Chuyển tập lệnh Bytecode thành mã máy cụ thể cho từng loại CPU
Trang 313.4 Các đặc điểm của Java
Trang 323.5 Các kiểu chương trình Java
Ứng dụng (application)
Không chạy được trên trình duyệt
Có thể gọi các chức năng thông qua dòng lệnh hoặc menu lựa chọn (đồ hoạ)
Phương thức main() là điểm bắt đầu thực hiện ứng dụng
Applet
Chương trình đồ hoạ chạy trên trình duyệt lại máy trạm
Có thể được xem bằng Appletviewer hoặc nhúng trong trình duyệt web có cài JVM
Trang 333.5 Các kiểu chương trình Java
Ứng dụng web (web application)
Tạo ra các nội dung động trên server thay cho trình duyệt
Chạy trong các ứng dụng server
Servlet: kiểm tra các phản hổi từ trình duyệt và trả lại các phản hồi
JavaServer Page (JSP): Các trang HTML được nhúng vào với mã Java
Trang 343.5 Cài đặt và chạy thử Java
Bước 1: Cài đặt JDK 1.6
Bước 2: Cài đặt trình soạn thảo (netbean 1.6)
Bước 3: Lập trình/Viết mã nguồn
Bước 4: dịch
Bước 5: Chạy chương trình
Trang 36Ví dụ 2: hiển thị dữ liệu
Trang 37Ví dụ 3: nhập xuất dữ liệu