Công nghệ lập trình hứơng đối tượng_ Chương 1
Tài liệu tham khảo Công nghệ thông tin, phần Công nghệ lập trình hứơng đối tượng _ Chương " Lập trình hứơng đối tượng " dành cho các bạn đang theo học chuyên ngành kỹ thuật lập trình.
Công Nghệ Lập Trình Hướng Đối
Tượng 1
OOP(Object Oriented Programming)
Th.s Hồ Đình Khả
Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Tà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
programming In java,2000
[3] Copyright by Sams Publishing :Sams Teach Yourself Object Oriented
Programming in 21 Days, 2002
JEDI
Slide Bài Giảng- ĐHCNSG
Trườ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)
Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Mụ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.
Trườ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
Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Data 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
Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Data Abstraction
Các đặc trưng của Các đặc trưng của
Person Customer
Name
Address Name
Age Address
Height
Hair color
Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Data 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
Trườ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.
Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Class
Một Class định nghĩa như là một bản mẫu hay một kiểu chung về một
lọai đối tượng nào đó theo thuộc tính và hành vi.
Class Customer
Tên khách hàng
Địa chỉ khách hàng
Kiểu xe mua
Tê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
Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Class/Object
Message Passing
Generalization/Specialization
Polymorphism
Relationships: Associations, Aggregations
Behaviors
Rules
Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Object
Một Object là sự thể hiện của class
Stephen
Boston
Opel Astra
Robin
Stephen là một Object của class Customer
Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Object (tiếp…)
Attribute
Những đặc trưng mô tả đối tượng.
Operation
Là một dịch vụ hoặc một hàm đuợc cung cấp bởi mọi thể
hiện của một lớp đối tượng.
Method
Diễn tả cách thức mà một đối tượng vận động, phản ứng
Message
Yêu cầu cho một operation
Event
Tác nhân được gởi từ một object to object khác.
Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
So 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.
Trườ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.
Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Phươ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.
Trườ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.
Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Bao 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
Thuận lợi:
Tất cả thuộc tính và phương thức được yêu cầu thực hiện
một công việc có thể được khởi tạo.
Chỉ những thuộc tính và/hoặc phương thức được truy xuất
bởi cái khác được hiện rõ.
Tất cả những gì thấy được của đối tượng đã được đóng gói là
các phương thức giao tiếp (interface) của đối tượng.
Trườ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
Automobile Motorcycle Bus
Sedan Sports Car Luxury Bus School Bus
Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin
Tính thừa kế (tt)
Trường Đại học Công nghệ Sài gòn
Khoa Công nghệ Thông tin