intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Object-Oriented programming: Chương 2 - Văn Thị Thiên Trang

Chia sẻ: Nhân Chi Sơ | Ngày: | Loại File: PDF | Số trang:7

25
lượt xem
2
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chương 2 – Nhập môn lập trình hướng đối tượng. Những nội dung chính được trình bày trong chương này gồm có: Từ lập trình cấu trúc đến lập trình hướng đối tượng, phương pháp lập trình hướng đối tượng, ưu điểm của lập trình hướng đối tượng. Mời các bạn tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Object-Oriented programming: Chương 2 - Văn Thị Thiên Trang

Mục tiêu<br /> Chương 2: NHẬP MÔN<br /> LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG<br /> (Introduction to OOP)<br /> <br /> Slide 1<br /> <br /> Nhận biết sự khác biệt giữa lập trình<br /> hướng thủ t<br /> hướ<br /> tục và lậ t ì h hướng đối<br /> à lập trình hướ<br /> tượng.<br /> Phân tích, thiết kế và hiện thực được<br /> một chương trình theo phương pháp<br /> hướng đối tượng.<br /> Nhận diện một số ngôn ngữ OOP.<br /> Nhận biết các khái niệm cơ bản của<br /> OOP.<br /> Slide 2<br /> <br /> 1.11.1- Lập trình thủ tục<br /> <br /> Nội dung chi tiết<br /> <br /> POPPOP- Procedure Oriented Programming.<br /> Data structure + Algorithm = Program<br /> Kỹ thuật POP:<br /> Program<br /> <br /> Từ lập trình cấu trúc đến lập trình<br /> hướng đối tượng.<br /> hướ<br /> tượ<br /> Phương pháp lập trình hướng đối<br /> tượng.<br /> Ưu điểm của lập trình hướng đối<br /> tượng.<br /> tượng<br /> <br /> pick<br /> nouns<br /> <br /> Data<br /> structure<br /> <br /> pick<br /> verbs<br /> <br /> Operation<br /> (function)<br /> <br /> type Fun (XX x)<br /> {.....<br /> };<br /> <br /> Problem<br /> <br /> Slide 3<br /> <br /> struct XX<br /> {.....<br /> };<br /> <br /> void main()<br /> { X x;<br /> Fun(x);<br /> };<br /> Slide 4<br /> <br /> 1<br /> <br /> 1.21.2- Nhược điểm của POP<br /> Diễn đạt “thiếu tự nhiên”<br /> “thiếu<br /> Có học sinh x<br /> “Viết lý lịch cho học sinh x”<br /> “x ơi, viết lý lịch đi nhé”<br /> <br /> Nhược điểm của POP...<br /> <br /> VietLyLich(x);<br /> x.VietLyLich();<br /> <br /> Khó mô tả những quan hệ phức tạp của<br /> thế giới tự nhiên<br /> iới<br /> hiê<br /> Biểu diễn dạng cấu trúc “phức tạp”,<br /> không phải là dễ dàng đối với nhiều<br /> người<br /> • Quan hệ giữa các dữ liệu được biểu diễn<br /> bằng cấu trúc lồng nhau hoặc một pointer.<br /> pointer.<br /> Tính phân lớp khó được phát hiện, có khó<br /> khăn trong biểu diễn lẫn tính dễ hiểu.<br /> hiểu.<br /> <br /> Diễn đạt à tự hiê h ?<br /> Diễ đ t nào t nhiên hơn?<br /> <br /> “x ơi, viết lý lịch đi nhé”<br /> Slide 5<br /> <br /> Nhược điểm của POP...<br /> Tự nhiên<br /> Person<br /> <br /> is a<br /> <br /> Male<br /> <br /> is a<br /> <br /> Female<br /> <br /> Nhược điểm của POP...<br /> <br /> Hiện thực<br /> <br /> Bảo mật kém do không thể giới hạn<br /> t<br /> truy xuất đế một dữ liệ<br /> ất đến ột<br /> liệu.<br /> <br /> struct PERSON<br /> {....<br /> };<br /> struct MALE<br /> { PERSON Data<br /> <br /> };<br /> <br /> Slide 6<br /> <br /> Diễn đạt<br /> phải<br /> tường minh<br /> không<br /> tự nhiên<br /> <br /> struct STUDENT<br /> { char Name[21];<br /> int Age;<br /> int Score;<br /> };<br /> }<br /> <br /> void main()<br /> {STUDENT x = { “Hoa”, 19, 5};<br /> x.Age=1000; Bạn nghĩ sao về 2<br /> tác vụ này?<br /> x.Score=-20;<br /> };<br /> <br /> struct FEMALE<br /> { PERSON Data<br /> <br /> };<br /> Slide 7<br /> <br /> Slide 8<br /> <br /> 2<br /> <br /> Nhược điểm của POP...<br /> <br /> 1.31.3- Lập trình hướng đối tượng<br /> <br /> Cần một phương pháp lập trình khác<br /> giúp giải quyết những nhược điểm này.<br /> iú<br /> iải<br /> ết hữ<br /> hượ điể<br /> à<br /> OOP có những đặc điểm vượt trội so với<br /> POP và là hướng lập trình chủ đạo hiện<br /> nay.<br /> <br /> OOP – Object Oriented Programming.<br /> Chương t ì h là sự h t độ<br /> Chươ<br /> trình<br /> ự hoạt động của các đối<br /> ủ á<br /> tượng<br /> Giống tự nhiên.<br /> Đối tượng thực thi một hoạt động tức là đối<br /> tượng thực hiện một hành vi mà đối tượng<br /> này có khả năng.<br /> năng.<br /> Một chương t ì h là một t ật t các lời yêu<br /> hươ<br /> trình<br /> ột trật tự á<br /> ê<br /> cầu đối tượng thực hiện hành vi của mình.<br /> Chương trình là một kịch bản (script).<br /> <br /> Slide 9<br /> <br /> Slide 10<br /> <br /> 1.41.4- Ưu điểm của OOP<br /> <br /> Ưu điểm của OOP...<br /> OOP...<br /> <br /> Dễ mô tả các quan hệ phân cấp trong thế giới tự<br /> nhiên.<br /> <br /> Có tính bảo mật cao: Bên ngoài không thể tùy<br /> tiện truy cập một dữ liệu thuộc tính<br /> tính.<br /> <br /> Tự nhiên<br /> Person<br /> <br /> is a<br /> <br /> Male<br /> <br /> is a<br /> <br /> Female<br /> <br /> Hiện thực<br /> <br /> class PERSON<br /> {....<br /> };<br /> <br /> tự<br /> nhiên<br /> <br /> class MALE: PERSON<br /> {<br /> };<br /> class FEMALE: PERSON<br /> { <br /> };<br /> Slide 11<br /> <br /> Slide 12<br /> <br /> 3<br /> <br /> Ưu điểm của OOP: Dễ tái sử dụng code<br /> <br /> 1.51.5- Sơ lược về OOP<br /> Đối tượng (object): Bao gói dữ liệu +<br /> hành vi.<br /> Đối tượng phải thuộc một lớp (class).<br /> <br /> Tái sử dụng code<br /> <br /> Muốn làm việc trên đối tượng, ta phải<br /> xây dựng lớp:<br /> • class = data (biến, thuộc tính)+ methods<br /> (phương thức, hành vi).<br /> <br /> Tái sử dụng code<br /> <br /> Vd: lớp học sinh<br /> Slide 13<br /> <br /> Sơ lược về OOP<br /> <br /> Slide 14<br /> <br /> 1.61.6- Ngôn ngữ OOP<br /> <br /> 3 khái niệm cơ bản của OOP<br /> • Bao gói (đóng gói) dữ liệu + hành vi.<br /> • Tính thừa kế: Một lớp có thể thừa kế từ<br /> lớp khác.<br /> • Tính đa hình: Kỹ thuật cho phép có khác<br /> biệt giữa code của cùng một hành vi trong<br /> lớp cha và trong lớp con.<br /> <br /> Slide 15<br /> <br /> C++ ( Borland C++, Visual C++)<br /> Java<br /> C# ( C sharp)<br /> Visual Basic.<br /> .....<br /> <br /> Slide 16<br /> <br /> 4<br /> <br /> Ngôn ngữ OOP<br /> <br /> 1.71.7- Phương pháp giải bài toán theo OOP<br /> Program<br /> <br /> C++, MS VC++: hỗ trợ cả POP lẫn<br /> VC++:<br /> OOP<br /> Lai OOP. Hỗ trợ đa thừa kế.<br /> OOP.<br /> kế.<br /> Đối tượng là biến của chương trình.<br /> trình.<br /> Hàm main() là POP.<br /> POP.<br /> Java (Sun), C# (Microsoft): chỉ hỗ<br /> (Microsoft):<br /> trợ OOP, hàm main phải nằm trong<br /> một lớp. Chỉ hỗ trợ đơn thừa kế.<br /> lớp.<br /> kế.<br /> <br /> pick<br /> nouns<br /> Problem<br /> <br /> properties<br /> <br /> Bao gói dữ liệu và<br /> hành vi thành class<br /> <br /> pick<br /> verbs<br /> <br /> Operation<br /> (function,<br /> method,<br /> behavior)<br /> <br /> class XX<br /> { type1 prop1;<br /> type2 prop2;<br /> .......<br /> type Method1(...)<br /> {<br /> }<br /> .....<br /> };<br /> void main()<br /> { X x; // object variable<br /> x.Method(...);<br /> };<br /> <br /> Slide 17<br /> <br /> Giải bài toán hướng POP với C<br /> <br /> Slide 18<br /> <br /> Giải bài toán hướng POP với C++<br /> <br /> Viết chương trình nhập, xuất 1 học<br /> sinh. Thô<br /> i h Thông ti cần quan tâ về 1 h<br /> tin ầ<br /> tâm ề<br /> học<br /> sinh: Mã học sinh (8 ký tự), tên học<br /> sinh (30 ký tự), điểm (int).<br /> Danh từ: Học sinh<br /> cấu trúc HS<br /> Động từ:<br /> • Nhập một hs<br /> • Xuất một hs<br /> <br /> Hàm Nhap(HS&hs)<br /> Hàm Xuat(HS hs);<br /> Slide 19<br /> <br /> Slide 20<br /> <br /> 5<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2