Tổng Quan Về Lập Trình Hướng Đối Tượng

Slides:



Advertisements
Similar presentations
Giáo viên thực hiện: Lò Thị Nhung Đơn vị công tác: Trường THCS Búng Lao, huyện Mường Ảng, tỉnh Điện Biên. GIÁO ÁN ĐỊA LÍ 7 Chương II: Môi trường đới ôn.
Advertisements

HÀNH CHÍNH NHÀ NƯỚC TỪ CÁCH MẠNG THÁNG TÁM ĐẾN NAY
Quản trị Rủi ro thiên tai và Biến đổi khí hậu
PHÁT TRIỂN VÀ SỬ DỤNG HỢP LÝ NGUỒN TÀI NGUYÊN NƯỚC
BỘ Y TẾ VỤ TRANG THIẾT BỊ VÀ CÔNG TRÌNH Y TẾ
Báo cáo Cấu trúc đề thi PISA và Các dạng câu hỏi thi PISA
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
XÂY DỰNG VÀ PHÁT TRIỂN CHƯƠNG TRÌNH ĐÀO TẠO THEO ĐỀ XƯỚNG CDIO
Rainforest Alliance đào tạo cho các nông trại trà ở Việt Nam
Qua hàng ngàn năm dựng nước và giữ nước, dân tộc ta đã để lại nhiều bài học vô giá. Nổi bật trong đó là tinh thần đoàn kết, ý thức cộng đồng. Hai truyền.
L/O/G/O NGUYÊN LÝ KẾ TOÁN Nguyễn Hữu Quy (MBA,CPA,APC)
1 ĐỒNG NAI ĐÁNH GIÁ TÌNH HÌNH VÀ ĐỀ XUẤT ÁP DỤNG HIỆU QUẢ MÔ HÌNH KINH TẾ DƯỢC TẠI BỆNH VIỆN ĐA KHOA ĐỒNG NAI NĂM 2017 Học viên: Nhóm 5 _ PP111.
TRƯỜNG ĐẠI HỌC THĂNG LONG
Thực hiện các cuộc họp quan trọng
ViÖn ChiÕn l­îc ph¸t triÓn
Sứ Mệnh GoCoast 2020 được thành lập bởi thống đốc Phil Bryant thông qua điều hành để phục vụ như là hội đồng cố vấn chính thức cho việc phân phối quỹ nhận.
QUẢN TRỊ THÀNH TÍCH Performance Management
KIẾN TRÚC HƯỚNG DỊCH VỤ - SOA
TÌM HIỂU VỀ WEB SERVICES VÀ XÂY DỰNG MỘT WEB SERVICE
Tham gia Intel ISEF 2013 và một số kinh nghiệm chia sẻ
Giới thiệu chương trình trách nhiệm xã hội của doanh nghiệp
KHAI PHÁ DỮ LIỆU (DATA MINING)
VÀ CÁC CHÍNH SÁCH PHÒNG CHỐNG TÁC HẠI THUỐC LÁ
THÔNG TIN MÔN HỌC Quản trị chuỗi cung ứng (Supply Chain Management): 45 tiết Tài liệu nghiên cứu Quản lý chuỗi cung ứng –Th.S. Nguyễn Kim Anh, Đại học.
Tổ chức The Natural Step và IKEA
Software testing Kiểm thử phần mềm
BÁO CÁO DỰ ÁN CIBOLA Đo lường mức độ hiệu quả của Media
Chương 6 Thiết kế hệ thống.
KHÓA TẬP HUẤN CÔNG BẰNG GIỚI VÀ CÁC DỰ ÁN PHÁT TRIỂN
Hạ Long – Cát Bà Sáng kiến Liên minh Bui Thi Thu Hien
Đức Hồng Y Nguyễn Văn Thuận cầu bầu
WELCOME TO MY PRESENTATION
Module 6 – Managing for Sustainability
Chương 4 Phân tích chi phí – lợi ích
Khởi động SXSH với công cụ quản lý nội vi 5S
Hệ Thống Quản Lý An Toàn Thực Phẩm
CÔNG DÂN VỚI TÌNH YÊU HÔN NHÂN VÀ GIA ĐÌNH
CHẾ ĐỘ PHÁP LÝ VỀ CÔNG TY CỔ PHẦN
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
ThS Nguyễn Thị Ngọc Hương
Thương mại điện tử HÀ VĂN SANG.
MKTNH Version 3 Giảng viên: ThS. Thái Thị Kim Oanh
Bài 2: Từ tiêu chuẩn sức khoẻ tới nơi làm việc lành mạnh
Giáo viên: Đặng Việt Cường
Ngôn ngữ học khối liệu - khoa học liên ngành về ngôn ngữ ứng dụng
Chương 4 Phân tích kiến trúc (Architecture)
XÂY DỰNG KẾ HOẠCH VÀ CHIẾN LƯỢC MARKETING
Chiến lược CSR –Là gì và làm thế nào để chúng ta sàng lọc lựa chọn?
UBND TỈNH ĐIỆN BIÊN SỞ GIÁO DỤC VÀ ĐÀO TẠO
LẬP TRÌNH ỨNG DỤNG WINDOW FORM
NỘI DUNG TẬP HUẤN 1-Giới thiệu về 5 modun – dạy học dự án
Quản lý con người Quản lý người làm việc như những cá nhân và theo nhóm.
KỸ NĂNG HỌC TẬP KHOA QUẢN TRỊ KINH DOANH ThS. NGUYỄN HOÀNG SINH
Giới Thiệu Tiêu Đề I.
Operators and Expression
Trách nhiệm giải trình của doanh nghiệp ở diện rộng
NGHỆ THUẬT LÃNH ĐẠO PGS.TS Nguyễn Minh Tuấn.
QUYỀN LỰC VÀ MÂU THUẪN TRONG NHÓM
TỔNG QUAN VỀ NGHIÊN CỨU MARKETING
Chương 2 Căn bản về Cung và Cầu 1.
QUẢN TRỊ TÍNH ĐA DẠNG THÔNG QUA NHIỀU HOẠT ĐỘNG KINH DOANH
HƯỚNG DẪN MÃ HÓA BỆNH TẬT, TỬ VONG THEO ICD - 10
OBJECT-ORIENTED ANALYSIS AND DESIGN WITH UML 2.0
ĐOÀN THANH NIÊN CỘNG SẢN HỒ CHÍ MINH
Trường CĐ CNTT HN Việt Hàn
Chương 8 NHỮNG VẤN ĐỀ QUẢN TRỊ CƠ BẢN TRONG THỰC THI CHIẾN LƯỢC
KHAI THÁC THỦY SẢN ĐẠI CƯƠNG
Chương 4: Tập gõ 10 ngón Chương 2: Học cùng máy tính
Presentation transcript:

Tổng Quan Về Lập Trình Hướng Đối Tượng GVHD: Huỳnh Lê Tấn Tài Lớp: 07TH1D Nhóm: 3

Tổng Quan Về Lập Trình Hướng Đối Tượng Lập trình cấu trúc. Khái quát về lập trình cấu trúc. Ưu điểm lập trình cấu trúc. Nhược điểm lập trình cấu trúc. Lập trình hướng đối tượng. Khái niệm Lập Trình Hướng Đối Tượng. Đổi tượng là gì? Lớp. Sự đóng gói (Encapsulation). Tính kế thừa (Inheritance). Tính đa hình (Polymorphism). Ưu điểm. Nhược điểm. Tương lai. Một số ngôn ngữ sử dụng phương pháp lập trình hướng đối tượng. Ứng dụng OOP. Tài liệu tham khảo. Tổng quan về lập trình hướng đối tượng Lớp :07TH1D

Chương trình = cấu trúc dữ liệu + giải thuật Lập Trình Cấu Trúc Sơ lượt về lập trình cấu trúc: Chương trình = cấu trúc dữ liệu + giải thuật Chương trình được chia nhỏ thành chương trình con được đặt chung với nhau để xây dựng nên một ứng dụng. Các chương trình con: Độc lập với nhau và có dữ liệu riêng Trao đổi qua: tham số và biến toàn cục Tổng quan về lập trình hướng đối tượng Lớp :07TH1D

Lập Trình Cấu Trúc Ưu điểm lập trình cấu trúc: Việc chia nhỏ một chương trình lớn thành các chương trình con giúp cho lập trình viên dễ nhận biết và quản lí chương trình tốt hơn. Nhược điểm trong lập trình cấu trúc: Không hổ trợ mạnh việc sử dụng lại mã nguồn. Không phù hợp với các phần mềm lớn. Nhiều hàm truy nhập, sử dụng dữ liệu chung. Dữ liêu trong hệ thống được chuyển động từ hàm này sang hàm khác nên khó kiểm soát dữ liệu. Tập trung vào công việc cần thực hiện (thuật toán). Chương trình lớn được chia thành các hàm nhỏ hơn nhưng nếu không thống nhất về thông tin dẫn đến hậu quả lớn. Tổng quan về lập trình hướng đối tượng Lớp :07TH1D

Khái niệm Lập Trình Hướng Đối Tượng Lập trình cấu trúc dẫn đến khái niệm trừu tượng hóa: Không quan tâm đến các chi tiết không quan trọng bên trong. Không quan tâm việc thực hiện của chương trình. Chỉ quan tâm đến kết quả. Khái niệm: Lập trình hướng đối tượng được xây dựng trên nền tảng của khái niệm lập trình có cấu trúc và sự trừu tượng hóa dữ liệu. Tổng quan về lập trình hướng đối tượng Lớp :07TH1D

Khái niệm Lập Trình Hướng Đối Tượng Là phương pháp lập trình: Mô tả chính xác các đối tượng trong thế giới. Lấy đối tượng làm nền tảng xây dựng thuật toán. Thiết kế xoay quanh dữ liệu của hệ thống. Chương trình được chia thành các lớp đối tượng. Dữ liệu được đóng gói, che dấu và bảo vệ. Đối tượng làm việc với nhau qua thông báo. Chương trình được thiết kết theo cách từ dưới lên (bottom-up) và từ trên xuống (top – down). Tổng quan về lập trình hướng đối tượng Lớp :07TH1D

Lập Trình Hướng Đối Tượng Đối tượng là gì? Đối tượng = dữ liệu + phương thức Là khái niệm trừu tượng phản ánh các thực thể trong thế giới thực Có thể là một thực thể vật lý. Có thể là một khái niệm trừu tượng. Một đối tượng là sự đóng gói 2 thành phần: Trạng thái (state) dữ liệu hay thuộc tính (attribute): đó là các đặc điểm của đối tượng. Các ứng xử (behavior) hay hành vi, thao tác, phương thức: đó là một hành động mà đối tượng có thể thực hiện. Có hai loại đối tượng: đối tượng trừu tượng và đối tượng thực. Được định nghĩa là sự thể hiện của một lớp (sẽ biết ở phần sau). Chính là các thực thể trong hệ thống hướng đối tượng (sẽ biết ở phần sau). Tổng quan về lập trình hướng đối tượng Lớp :07TH1D

Lập Trình Hướng Đối Tượng Ví dụ 1: Một con người là một đối tượng Họ, tên, chiều cao, cân năng…là thuộc tính của tất cả con người. Hành vi của con người là ngồi, đứng, đi, chạy, nhảy… Ví dụ 2: Một sinh viên trừu tượng gồm các thuộc tính: MSSV, HỌ TÊN, NGÀY SINH, QUÊ QUÁN… Một sinh viên thực: 070042T, Võ Hoàng Bảo, 6/6/1989, TPHCM…

Lập Trình Hướng Đối Tượng Lớp (class): Tập hợp các đối tượng có cùng thuộc tính và hành vi. Định nghĩa: class <tên_lớp> { Private: <khai báo các thành phần riêng> Protected: <Khai báo các thành phần được bảo vệ> Public: <Khai báo các thành phần công cộng> };   Tổng quan về lập trình hướng đối tượng Lớp :07TH1D

Lập Trình Hướng Đối Tượng Sự đóng gói (Encapsulation ): Khái niệm: Là cơ chế ràng buộc dữ liệu và các thao tác trên dữ liệu thành thể thống nhất.(thể thống nhất là đối tượng) Đóng gói gồm: Bao gói: người dùng giao tiếp với hệ thống qua giao diện Che dấu: ngăn chặn các thao tác không được phép từ bên ngoài Ưu điểm: Quản lý sự thay đổi Bảo vệ dữ liệu Tổng quan về lập trình hướng đối tượng Lớp :07TH1D

Lập Trình Hướng Đối Tượng Tính kế thừa (Inheritance). Khái niệm Khả năng cho phép xây dựng lớp mới được thừa hưởng một số hoặc tất cả thuộc tính cùng với cách hoạt động của lớp đã có. Khi đó lớp mới (lớp dẫn xuất) có thể sử dụng dữ liệu và phương thức của các lớp cơ sở (lớp ban đầu). Kế thừa tạo ra mô hình phân cấp giữa các lớp. Có ba từ khóa dẫn xuất là private, protected và public qui định quy định tính chất của sự kế thừa. Có hai loại thừa kế: đa thừa kế và đơn thừa kế. Tổng quan về lập trình hướng đối tượng Lớp :07TH1D

Lập Trình Hướng Đối Tượng Ví dụ: Person Weight Height Sex Walk() Sit() inheritance Student ID Firt nam Last name Graduation Write() Display() inheritance Gradstudent Under grad Major Under Year graduted Write() Display() Tổng quan về lập trình hướng đối tượng Lớp :07TH1D

Lập Trình Hướng Đối Tượng Tính đa hình (Polymorphism). Đa hình là khái niệm luôn đi kèm với kế thừa. Do tính kế thừa, một lớp có thể sử dụng lại các phương thức của lớp khác. Tuy nhiên, nếu cần thiết, lớp dẫn xuất cũng có thể định nghĩa lại một số phương thức của lớp cơ sở. Đó là sự nạp chồng phương thức trong kế thừa. Nhờ sự nạp chồng phương thức này, ta chỉ cần gọi tên phương thức bị nạp chồng từ đối tượng mà không cần quan tâm đó là đối tượng của lớp nào. Chương trình sẽ tự động kiểm tra xem đối tượng là thuộc kiểu lớp cơ sở hay thuộc lớp dẫn xuất, sau đó sẽ gọi phương thức tương ứng với lớp đó. Đó là tính đa hình. Tổng quan về lập trình hướng đối tượng Lớp :07TH1D

Lập Trình Hướng Đối Tượng Nói cách khác, đa hình là khả năng cho phép mô tả và sử dụng những phương thức có tên giống nhau trong các lớp khác nhau. Ña hình laø moät quaù trình aùp duïng moät giao dieän cho hai hay nhieàu tröôøng hôïp töông töï nhau (nhöng khaùc bieät veà maët kyõ thuaät), noù trieån khai tö töôûng "moät giao dieän cho nhieàu phöông thöùc" . Ña hình laøm cho moái quan heä luaän lyù giöõa caùc hoaït ñoäng töông töï nhau ñöôïc trôû neân roõ raøng hôn, do ñoù noù giuùp cho laäp trình vieân deã daøng hôn trong vieäc ñoïc hieåu vaø baûo trì chöông trình. Tổng quan về lập trình hướng đối tượng Lớp :07TH1D

Lập Trình Hướng Đối Tượng Ví dụ: Tổng quan về lập trình hướng đối tượng Lớp :07TH1D

Lập Trình Hướng Đối Tượng Ưu điểm: Loại bỏ các đoạn mã lặp lại (nguyên lý thừa kế). Rút ngắn thời gian xây dựng hệ thống. Quản lý được độ phức tạp của chương trình, dự án phần mềm lớn. Dễ dàng mở rộng và nâng cấp Tạo ra các chương trình an toàn, bảo mật (nguyên lý che giấu). Tăng năng xuất và hiệu quả hơn Chương trình được thiết kế theo đúng qui trình (do nó được xây dựng từ những đơn thể (đối tượng) trao đổi với nhau chứ không phải dựa vào kinh nghiệm và kỹ thuật như trước). Tổng quan về lập trình hướng đối tượng Lớp :07TH1D

Lập Trình Hướng Đối Tượng Nhược điểm: Thiếu tính động của object(tự thân object không tự phát triển trước yêu cầu mới) Tính đan lên nhau của các yêu cầu mà mỗi một object phải gánh chịu Tổng quan về lập trình hướng đối tượng Lớp :07TH1D

Lập Trình Hướng Đối Tượng 7. Một số ngôn ngữ sử dụng phương pháp lập trình hướng đối tượng: Hầu hết các ngôn ngữ lập trình đều hỗ trợ OOP, có thể chia thành 2 loại: Ngôn ngữ hỗ trợ hướng đối tượng: Eiffel, Clos, Loops, Flavors, Object Pascal, Object C, C++, Delphi, Java… Ngôn ngữ hướng đối tượng: SmallTalk, JAVA Một số ngôn ngữ OOP phổ biến hiện nay: Visual C++ VB.NET, C#... Tổng quan về lập trình hướng đối tượng Lớp :07TH1D

Để phát triển phần mềm trong nhìêu lĩnh vực khác nhau Ứng dụng OOP Để phát triển phần mềm trong nhìêu lĩnh vực khác nhau Vd: hệ điều hành Windows Lĩnh vực ứng dụng chính của kỹ thuật lập trình hướng đối tượng bao gồm: Hệ thống làm việc thời gian thực, csdl hướng đối tượng, hệ siêu văn bản, multimedia, trí tuệ nhân tạo, lập trình song song và mạng nơron… Tổng quan về lập trình hướng đối tượng Lớp :07TH1D

Ví dụ Tổng quan về lập trình hướng đối tượng Lớp :07TH1D

Tài liệu tham khảo James P. Cohoon and Jack W.Davidson, C++ Program Design – An Introduction to Programming and Object-Oriented Design, 2nd edition, WCB McGraw-Hill, 1999. Robert Lafore, Object – Oriented Programming in C++, Fourth edition, SAMS, 2001. Lê Đ. Hưng, Tạ T. Anh, Nguyễn H. Đức và Nguyễn T. Thuỷ, Lập trình hướng đối tượng với C++, NXB Khoa học và Kỹ thuật, 2005. Waite Group's Object-Oriented Programming in C++, Third Edition (Publisher: Macmillan Computer Publishing) Author(s): Robert Lafore Giáo trình OOP NGÔN NGỮ LẬP TRÌNH C++ tác giả PGS.TS. Trần Đình Quế - KS. Nguyễn Mạnh Hùng C++ tác giả Phạm Văn Ất Các địa chỉ web http://www.angelfire.com/country/aldev0/cpphowto http://www.gnacademy.org/text/cc/Tutorial/tutorial.html http://sophia.dtp.fmph.uniba.sk/cpptut/tutorial.us.html http://www.brpreiss.com/books/opus4/html/book.html http://ebook.edu.vn Tổng quan về lập trình hướng đối tượng Lớp :07TH1D