Trường Đại học Công nghệ Sài gòn Khoa Công nghệ Thông tinCông Nghệ Lập Trình Hướng Đối Tượng 1 OOPObject Oriented Programming Th.s Hồ Đình Khả... Trường Đại học Công nghệ Sài gòn Khoa C
Trang 1Trường Đại học Công nghệ Sài gòn Khoa Công nghệ Thông tin
Công Nghệ Lập Trình Hướng Đối
Tượng 1
OOP(Object Oriented Programming)
Th.s Hồ Đình Khả
Trang 2Tài liệu tham khảo:
[1] Michael A.Smith, Java: an Object-Oriented Language, McGraw-Hill, 2000
[2] Prof Alfons Kemper, Ph D.: Object oriented Data modeling And
Trang 3Trường Đại học Công nghệ Sài gòn Khoa Công nghệ Thông tin
Chương 1
Lập Trình Hướng Đối Tượng
OOP(Object Oriented Programming)
Trang 4Mục tiêu
Object Oriented Programming
Trừu tượng hóa dữ liệu (Data Abstraction)
Lớp và đối tượng (Class and Object )
Phương thức thiết lập và hủy
(Construction và Destruction )
Persistence, Data encapsulation, Inheritance
và Polymorphism
Thuận lợi.
Trang 5Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Object-oriented programmings
Phương pháp thiết kế và hiện thực các hệ thống phần mềm.
Đặt trọng tâm vào đối tượng.
Đối tượng bao hàm: hành vi và thuộc tính
Đối tượng giao tiếp thông qua thông điệp
Trang 6Data Abstraction
Cho phép quản lí tốt hơn các chương trình phức tạp
Functions & Procedures
Modules
Abstract Data Types
Class/Objects
Data Abstract cho phép
Mở rộng ngôn ngữ : Định nghĩa thêm kiểu
Chế tác các thể hiện dữ liệu khác nhau
Trang 7Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Trang 8Data Abstraction (tiếp )
Thuộc tính Hành động
Tên khách hàng Chấp nhận tên khách hàng Địa chỉ khách hàng Chấp nhận địa chỉ khách hàng Kiểu xe mua Chấp nhận kiểu xe đặt hàng Người bán (saleman) Chấp nhận tên người bán
Phát sinh hóa đơn
Trang 9Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Data Abstraction (tiếp…)
Data Abstraction là quá trình nhận diện và nhóm dữ liệu
và hành động có liên quan tới một thực thể riêng biệt
Thuận lợi:
Nhận diện các đặt trưng và hành động thiết yếu
Giúp lọai trừ những chi tiết không cần thiết.
Trang 10Tên người bán Chấp nhận tên Chấp nhận địa chỉ Chấp nhận lọai xe đặt mua Chấp nhận tên người bán Phát sinh hóa đơn
Trang 11Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Trang 13Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Trang 14So Sánh Class và Object
Class định nghĩa một thực thể, trong khi một object là một thực thể thực sự.
Class là một mô hình ý niệm,định nghĩa tất cả đặt trưng
và hành động của một object, trong khi đối tượng là một
mô hình thực.
Class là một prototype của một object
Tất cả object thuộc về một class đều có đặt trưng và hành động giống nhau.
Trang 15Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Phương thức thiết lập (Construction)
A Constructor:
Cấp phát bộ nhớ.
Khởi tạo thuộc tính.
Cho phép truy xuất các thuộc tính và phương thức.
Trang 16Phương thức hủy bỏ (Destruction)
Quá trình xóa một đối tượng.
A Destructor:
Giải phóng không gian cấp phát.
Cấm truy xuất các thuộc tính và phương thức.
Trang 17Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Tính bền vững (Persistence)
Tính bền vững là một khả năng của đối tượng để lưu trữ dữ liệu trong thời gian sống của đối tượng.
Trang 18Bao Bọc và Che Dấu Thông tin (Encapsulation and information hiding)
Quá trình che dấu sự hiện thực chi tiết của một đối tượng từ user được gọi là Encapsulation
Nguyên tắc bao bọc dữ liệu ngăn cấm truy nhập trực tiếp gọi
là sự che dấu thông tin
Trang 19Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Tính thừa kế (Inheritance)
Cách tổ chức các Classes
Vehicle
Trang 20Tính thừa kế (tt)
Trang 21Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Tính thừa kế (tt )
Trang 22Tính thừa kế (tt )
Trang 23Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Trang 24Tính Đa Hình (Polymorphism)
Làm thế nào?
Operation Display
Tính đa hình là một thao tác có thể được cài đặt khác nhau trong cùng một lớp hay trong những lớp khác nhau.
Trang 25Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Các bước thiết kế
Thiết kế và coding
Thiết kế
Định nghĩa vấn đề.
Thiết kế các đối tượng
Phát triển các giải thuật cho các phương thức của đối tượng.
Mô tả giải thuật, dùng pseudocode
Viết code
Kiểm tra code
Debug
Trang 26Những thuận lợi.
Khả năng đối phó với những ứng dụng thuộc lọai khó.
Nâng cao tính nhất quán giữa phân tích, thiết kế và lập trình.
Nâng cao chia sẽ trong ứng dụng.
Tính dùng lại của những kết quả phân tích thiết kế và lập trình.
Giảm bớt các lỗi.
Sự thay đổi nhanh hơn.
Trang 27Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Trang 28Câu hỏi
Các đối tượng trong thế giới thực chứa _thuoc tinh và _hanh vi
Một trạng thái của đối tượng được lưu trữ trong _thuoc tinh
Một hành vi của đối tượng được phơi bày thông qua _Interface
Các dữ liệu nội tại được che đậy từ thế giới bên ngòai và chỉ truy xuất qua phương
thức được biết như dữ liệu _the hien
Bản thiết kế cho một đối tượng phần mềm được gọi là _class
Hành vi chung, phổ biến có thể được định nghĩa trong _lop cha và được thừa kế vào _lop con
Một tập phương thức với không hiện thực được gọi là _interface