Bài giảng Lập trình hướng đối tượng: Chương 1 - Châu Thị Bảo Hà
lượt xem 2
download
Bài giảng chương 1 trình bày tổng quan về cách tiếp cận hướng đối tượng. Mục tiêu của chương này nhằm giúp người học: Nhận biết sự khác biệt giữa lập trình truyền thống và lập trình hướng đối tượng (OOP), nhận diện một số ngôn ngữ OOP, nhận biết các khái niệm cơ bản của OOP. Mời các bạn cùng tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình hướng đối tượng: Chương 1 - Châu Thị Bảo Hà
- Chương 1 TỔNG QUAN VỀ CÁCH TIẾP CẬN HƯỚNG ĐỐI TƯỢNG
- Mục tiêu w Nhận biết sự khác biệt giữa lập trình truyền thống và lập trình hướng đối tượng (OOP) w Nhận diện một số ngôn ngữ OOP w Nhận biết các khái niệm cơ bản của OOP
- Nội dung 1.1. Phương pháp tiếp cận của lập trình truyền thống 1.2. Phương pháp tiếp cận hướng đối tượng 1.3. So sánh sự khác biệt giữa hai cách tiếp cận 1.4. Xu hướng phát triển của lập trình hướng đối tượng
- 1.1. PP tiếp cận của LT truyền thống Lập trình tuyến tính w Chương trình sẽ được thực hiện tuần tự từ đầu đến cuối, lệnh này kế tiếp lệnh kia cho đến khi kết thúc chương trình w Đặc trưng n Đơn giản: tuần tự n Đơn luồng: chỉ một luồng xử lý w Ưu – Khuyết: n Ưu: chương trình đơn giản, dễ hiểu n Khuyết: không thể dùng phương pháp này cho những ứng dụng phức tạp w Ngày nay, chỉ tồn tại trong phạm vi các module nhỏ nhất của các phương pháp lập trình khác
- 1.1. PP tiếp cận của LT truyền thống Lập trình cấu trúc w Chương trình chính được chia nhỏ công việc thành các chương trình con, mỗi chương trình con thực hiện một công việc xác định n Chương trình chính sẽ gọi chương trình con theo kịch bản định trước n Mỗi chương trình con có thể được gọi nhiều lần, bất kỳ, không theo thứ tự khai báo w Đặc trưng: Chương trình = cấu trúc dữ liệu + giải thuật w Ưu – Khuyết: n Ưu: Chương trình dễ đọc dễ hiểu, tư duy giải thuật rõ ràng n Khuyết: Khi thay đổi cấu trúc thì giải thuật cũng thay đổi theo w Phù hợp với phạm vi trong mỗi module, không phù hợp với chương trình có nhiều module
- 1.1. PP tiếp cận của LT truyền thống Lập trình cấu trúc (tt) Chương trình struct XX Xđ {..... danh CTDL } từ type Fun (XX x) Bài toán {..... } Xđ Tác vụ động void main() (hàm) { XX x; từ Fun(x); }
- 1.1. PP tiếp cận của LT truyền thống Hạn chế w Dữ liệu và xử lý tách biệt Ví dụ: w Không đảm bảo được tính nhất quán và các ràng buộc dữ liệu w Không tiết kiệm tài nguyên w Khó bảo trì
- 1.2. PP tiếp cận hướng đối tượng w Chương trình là sự hoạt động của các đối tượng Giống tự nhiên w Một chương trình là một trật tự các lời yêu cầu đối tượng thực hiện hành vi của mình w Đóng gói dữ liệu nên hạn chế việc truy cập tự do w Sử dụng lại mã nguồn, hạn chế việc viết lại mã nguồn
- 1.2. PP tiếp cận hướng đối tượng w Sơ lược về OOP n Đối tượng (object): dữ liệu + hành vi n Đối tượng phải thuộc một lớp (class) n Một nhóm đối tượng được biễu diễn bởi một lớp n Lớp = data (biến, thuộc tính) + methods
- 1.2. PP tiếp cận hướng đối tượng Ví dụ 1: Class và Object
- 1.2. PP tiếp cận hướng đối tượng Ví dụ 2: Class và Object Object1 radius = 5 color = red thrown, bounced, rolled Class: Ball Attributes: radius, color Behavior: thrown, bounced, rolled Object3 Object2 radius = 3 radius = 10 color = green color = blue thrown, bounced, rolled thrown, bounced, rolled
- 1.2. PP tiếp cận hướng đối tượng Chương trình Giải bài toán theo OOP class XX { Xđ type1 prop1; danh Thuộc tính type2 prop2; từ ....... type Method1(...) Vấn đề Bao gói dữ liệu và { hành vi thành class } ..... } Xđ động void main() từ Tác vụ { XX x; // object variable (hành vi) x.Method(...); }
- 1.2. PP tiếp cận hướng đối tượng Mô hình lớp đối tượng ClassName Properties Data - Attributes Fields Variables Instance data + Behaviors Methods
- 1.2. PP tiếp cận hướng đối tượng Ví dụ mô hình lớp đối tượng Student - Student code Rectangle - Name - width - Gender - height - Birthday - Birthplace + Calculate area - Class + Calculator perimeter - Grade 1 - Grade 2 + Calculate average + View grade + Pay tuition
- 1.2. PP tiếp cận hướng đối tượng Đặc trưng w Trừu tượng (Abtraction) w Đóng gói (Encapsulation) w Thừa kế (Inheritance) w Đa hình (Polymophism)
- 1.2. PP tiếp cận hướng đối tượng Tính trừu tượng w Trừu tượng có nghĩa là làm việc với một cái gì đó mà chỉ cần biết làm thế nào để sử dụng mà không cần biết bên trong làm thế nào mà nó hoạt động w Ví dụ: n Hãy nêu 1 món đồ dùng trong nhà và mô tả cách sử dụng nó (vd/TV, máy giặt, laptop,…). Sau đó thử mô tả các thành phần bên trong của món đồ này cũng như mô tả chi tiết kỹ thuật làm nó hoạt động n Mô tả cách vận hành dễ hơn mô tả chi tiết chính xác làm sao nó hoạt động. Và hầu như mọi người thậm chí ko biết có những thành phần gì bên trong UD – những UD mà con người sd hàng ngày
- 1.2. PP tiếp cận hướng đối tượng Tính trừu tượng w Trừu tượng tức là chung chung, không cụ thể. Đặc tính này được thể hiện trong lớp trừu tượng (abstract class)
- 1.2. PP tiếp cận hướng đối tượng Tính đóng gói w Nhóm những gì có liên quan với nhau vào làm một w Che dấu thông tin (information hiding) n Đóng gói để che dấu một số thông tin và chi tiết cài đặt nội bộ để bên ngoài không nhìn thấy l Không cho phép người sử dụng đối tượng thay đổi trạng thái nội tại của một đối tượng l Chỉ có các phương thức nội tại của đối tượng cho phép thay đổi trạng thái của nó l Việc cho phép môi trường bên ngoài tác động lên các dữ liệu nội tại của một đối tượng theo cách nào là hoàn toàn tùy thuộc vào người viết mã. Đây là tính chất đảm bảo sự toàn vẹn của đối tượng
- 1.2. PP tiếp cận hướng đối tượng Tính thừa kế w Là cơ chế cho phép một lớp B có được các thuộc tính và A hành vi của lớp A, như thể các thuộc tính và hành vi đó đã được định nghĩa tại lớp B w Điều này cho phép các đối tượng chia sẻ hay mở rộng các B đặc tính sẵn có mà không phải tiến hành định nghĩa lại w Ví dụ: Vehicle Animal Car Dog Cat Mouse
- 1.2. PP tiếp cận hướng đối tượng Tính đa hình w Tính đa hình là khả năng một đối tượng có thể tham chiếu đến nhiều loại đối tượng khác nhau tại những thời điểm khác nhau w Thể hiện thông qua việc gửi các thông điệp (message) w Ví dụ: Holiday Holyday day; + celebrate() : void day = new Holyday(); day.celebrate(); Christmas day = new Christmas(); + celebrate() : void day.celebrate();
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - TS. Trần Công Án
57 p | 89 | 13
-
Bài giảng Lập trình hướng đối tượng: Chương 2 - Nguyễn Sơn Hoàng Quốc, ThS. Nguyễn Tấn Trần Minh Khang
14 p | 174 | 12
-
Bài giảng Lập trình hướng đối tượng - Chương 1: Phương pháp lập trình hướng đối tượng
9 p | 141 | 9
-
Bài giảng Lập trình hướng đối tượng C++ - Chương 2: Lập trình hướng đối tượng
53 p | 46 | 8
-
Bài giảng Lập trình hướng đối tượng (dùng Java): Chương 1 - Trần Minh Thái (2017)
55 p | 80 | 8
-
Bài giảng Lập trình hướng đối tượng - Bài 1: Tổng quan lập trình hướng đối tượng
53 p | 120 | 8
-
Bài giảng Lập trình hướng đối tượng (Dùng C#): Chương 2 - Trần Minh Thái
35 p | 103 | 8
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Thị Anh Thi
7 p | 197 | 7
-
Bài giảng Lập trình hướng đối tượng 1: Chương 1 - ThS. Thái Kim Phụng
39 p | 101 | 7
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - ThS. Trịnh Thành Trung
53 p | 88 | 7
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Minh Thái
40 p | 116 | 6
-
Bài giảng Lập trình hướng đối tượng – Bài 01: Tổng quan về OOP
47 p | 63 | 5
-
Bài giảng Lập trình hướng đối tượng (dùng JAVA): Chương 1 - Trần Minh Thái
40 p | 99 | 5
-
Bài giảng Lập trình hướng đối tượng và C++: Chương 1
15 p | 105 | 4
-
Bài giảng Lập trình hướng đối tượng: Nhập môn - Trần Phước Tuấn
15 p | 139 | 4
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - Tổng quan về lập trình hướng đối tượng
47 p | 11 | 4
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Các khái niệm cơ bản trong lập trình hướng đối tượng
36 p | 16 | 3
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - Nguyễn Khanh Văn
0 p | 83 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn