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

Bài giảng Cơ sở lập trình 2: Chương 1 - Lê Quý Tài

Chia sẻ: Kiếp Này Bình Yên | Ngày: | Loại File: PPTX | Số trang:46

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

Bài giảng Cơ sở lập trình 2 - Chương 1 trình bày những nội dung tổng quan về lập trình hướng đối tượng và ngôn ngữ C#. Chương này trình bày 2 nội dung chính, đó là: Tổng quan về lập trình hướng đối tượng, giới thiệu về ngôn ngữ C#. Mời các bạn cùng tham khảo để nắm bắt các nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Cơ sở lập trình 2: Chương 1 - Lê Quý Tài

  1. Chương 1 TỔNG QUAN VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VÀ NGÔN NGỮ C# HÀ NỘI – 2015
  2. Nội dung 1 Tổng quan về lập trình hướng đối tượng 2 Giới thiệu về ngôn ngữ C# 12/24/15 Chương 1. Tổng quan về lập trình hướng đối 2/46
  3. 1. Tổng quan về lập trình hướng đối tượng o Vấn đề: Phần mềm ngày càng lớn n Một số hệ Unix chứa khoảng 4M dòng lệnh n Windows chứa hàng chục triệu dòng lệnh n Người dùng ngày càng đòi hỏi nhiều chức năng, đặc biệt là các chức năng thông minh n Phần mềm luôn cần được sửa đổi o Giải pháp: Sử dụng lại mã nguồn n Giảm chi phí và thời gian phát triển n Nâng cao chất lượng o Yêu cầu khi sử dụng lại mã nguồn n Dễ hiểu, chính xác, rõ ràng n Không cần thay đổi khi sử dụng trong chương 12/24/15 trình mới Chương 1. Tổng quan về lập trình hướng đối 3/46
  4. Các phương pháp lập trình o Lập trình không có cấu trúc o Lập trình cấu trúc (lập trình thủ tục) o Lập trình hướng đối tượng o Lập trình hướng sự kiện o Lập trình hướng thành phần 12/24/15 Chương 1. Tổng quan về lập trình hướng đối 4/46
  5. Lập trình không có cấu trúc (non-structured programming) o Là phương pháp xuất hiện đầu tiên n các ngôn ngữ như Assembly, Basic n sử dụng các biến tổng thể n lạm dụng lệnh GOTO o Nhược điểm n khó hiểu, khó bảo trì, hầu như không thể sử dụng lại n chất lượng kém n chi phí cao n không thể phát triển các ứng dụng lớn 12/24/15 Chương 1. Tổng quan về lập trình hướng đối 5/46
  6. Lập trình cấu trúc/lập trình thủ tục (structured/procedural programming) o Đặc điểm n Xây dưng chương trình dựa trên các hàm/thủ tục/chương trình con n Dữ liệu và xử lý (hàm) tách rời nhau n Các hàm không bắt buộc phải tuân theo một cách thức chung truy cập vào dữ liệu Ch­ ¬ng tr× nh chÝnh main() Hµm_1 Hµm_2 Hµm_3 Hµm_4 Hµm_5 Hµm_6 Hµm_7 Hµm_8 Hµm_9 12/24/15 Chương 1. Tổng quan về lập trình hướng đối 6/46
  7. Lập trình cấu trúc/lập trình thủ tục o Nhược điểm n Các hàm trong chương trình muốn trao đổi dữ liệu phải sử dụng biến toàn cục (global)  Thay đổi của của những biến toàn cục sẽ ảnh hưởng tới tất cả những thành phần liên quan n Tính mở của hệ thống kém n Tách biệt dữ liệu khỏi chức năng xử lý n KHÔNG hỗ trợ việc sử dụng lại và kế thừa 12/24/15 Chương 1. Tổng quan về lập trình hướng đối 7/46
  8. Lập trình hướng đối tượng Object-oriented programming o Đặc điểm n Lấy đối tượng làm nền tảng xây dựng thuật toán, xây dựng chương trình n Liên kết cấu trúc dữ liệu và thao tác n Kết hợp những tri thức bao quát về các quá trình thực tế với những khái niệm trừu tượng sử dụng trong máy tính n Hệ thống được xem là tập các lớp đối tượng n Các đối tượng trao đổi với nhau thông qua việc gửi và nhận các thông điệp (message) 12/24/15 Chương 1. Tổng quan về lập trình hướng đối 8/46
  9. Lập trình hướng đối tượng o Đặc điểm n Có tính mở cao n Có cơ chế đóng gói, che giấu dữ liệu  an toàn n Hỗ trợ sử dụng lại  Kế thừa 12/24/15 Chương 1. Tổng quan về lập trình hướng đối 9/46
  10. Hướng cấu trúc vs Hướng đối tượng o Hướng cấu trúc n Data structures + algorithms = Program o Hướng đối tượng n Object + message = Program 12/24/15 Chương 1. Tổng quan về lập trình hướng đối 10/46
  11. Các khái niệm cơ bản của LTHĐT o Đối tượng (Object) o Lớp (Class) o Trừu tượng hóa (abstraction) o Đóng gói/Che giấu thông tin (encapsulation) o Truyền thông điệp (message) o Kế thừa (inheritance) o Đa hình (polymorphism) 12/24/15 Chương 1. Tổng quan về lập trình hướng đối 11/46
  12. Đối tượng (Object) o Đối tượng” là gì? n là một người, địa điểm, sự kiện, sự vật … o Ví dụ: Đối tượng trong thế giới thực: Khách hàng sử dụng thẻ ATM n Thông tin cá nhân: tên, tuổi, số tài khoản, lượng tiền đang có trong tài khoản… n Hoạt động: Đăng ký làm thẻ, huỷ thẻ, rút tiền, nạp tiền… 12/24/15 Chương 1. Tổng quan về lập trình hướng đối 12/46
  13. Đối tượng trong thế giới thực o Một đối tượng trong thế giới thực là một thực thể cụ thể mà thông thường chúng ta có thể sờ, nhìn thấy hay cảm nhận được Trạng thái Hành động Đối tượng có: Con chó Tên Sủa trạng thái (state) Màu Vẩy tai và hành động Giống Chạy ăn (behavior) Xe đạp Bánh xe Tăng tốc Bàn đạp Giảm tốc Dây xích Chuyển bánh răng 12/24/15 Chương 1. Tổng quan về lập trình hướng đối 13/46
  14. Đối tượng phần mềm o Các đối tượng phần mềm có thể được dùng để biểu diễn các đối tượng trong thế giới thực o Cũng có trạng thái và hành động n Trạng thái: thuộc tính (attribute, property) n Hành động: Phương thức (method) o Đối tượng (object) là một thực thể phần mềm bao bọc thuộc tính và các phương thức liên quan Thuộc tính o Có trạng thái và hành động n Trạng thái: Thuộc tính (attribute, property) n Hành động: Phương thức (method) n Thuộc tính được xác định bởi các giá trị gọi là thuộc tính thể hiện o Các đối tượng giao tiếp với nhau bằng các thông điệp Phương thức 12/24/15 Chương 1. Tổng quan về lập trình hướng đối 14/46
  15. Lớp (class) o Trong thế giới có nhiều đối tượng cùng loại n Ví dụ: Tên, Tuổi, Trường, Khoa, đăng kí học,.. Bạn nghĩ tới ? o Một lớp là một thiết kế (blueprint) hay mẫu (prototype) cho các đối tượng cùng kiểu o Lớp định nghĩa tất cả các thuộc tính và phương thức chung cho tất cả các đôi tượng thuộc cùng một loại. o Thể hiện/Thực thể (Instance) là một đối tượng của lớp n Ví dụ: mỗi một đối tượng sinh viên là một thể hiện của lớp sinh viên o Mỗi thể hiện có thể có những thuộc tính thể hiện khác nhau. n Ví dụ ? 12/24/15 Chương 1. Tổng quan về lập trình hướng đối 15/46
  16. Trừu tượng hoá (Abstraction) o Sử dụng để quản lý các đối tượng phức tạp n Tập trung vào các thuộc tính cần thiết n Tóm lược nội dung chính của vấn đề n Tìm ra những điểm chung giữa các đối tượng Trừu tượng hóa Tam giác Cạnh 1, canh 2, cạnh 3 Màu nền, màu biên Độ đậm biên Vẽ, tính diện tích, tính chu vi Lớp Các đối tượng 12/24/15 Chương 1. Tổng quan về lập trình hướng đối 16/46
  17. Đóng gói (Encapsulation) o Đóng gói dữ liệu là các thao tác tác động lên dữ liệu thành một thể thống nhất (lớp đối tượng) thuận tiện cho sử dụng lại o Che giấu thông tin n thao tác với dữ liệu thông qua các giao diện xác định n Người dùng không phụ thuộc vào việc sửa đổi, thực thi bên trong  Tăng cường tính mềm dẻo 12/24/15 Chương 1. Tổng quan về lập trình hướng đối 17/46
  18. Đóng gói Implementation Outside View Order int orderNum Public methods int custNum of Order CalculatePrice( ) PUBLIC: CreateOrder( ) CreateOrder UpdateOrder( ) UpdateOrder GetOrderTotal( ) GetOrderTotal Next( ) Next 12/24/15 Chương 1. Tổng quan về lập trình hướng đối 18/46
  19. Truyền thông điệp (message) o Các đối tượng gửi và nhận thông tin với nhau giống như con người trao đổi với nhau. o Truyền thông điệp cho một đối tượng là yêu cầu đối tượng thực hiện một việc gì đó CONGNHAN.TINHLUONG (Hoten) Đối tượng Thông điệp Thông tin 12/24/15 Chương 1. Tổng quan về lập trình hướng đối 19/46
  20. Kế thừa (inheritance) o Một lớp này được quyền sử dụng một số tính chất (cả dữ liệu và các hàm thành phần) của các lớp khác. o Nguyên lý chung của kế thừa: Chỉ những thuộc tính, hàm thành phần được bảo vệ và công khai là được quyền kế thừa, còn những thuộc tính, hàm thành phần riêng là không được phép kế thừa.  C# chỉ hỗ trợ đơn kế thừa 12/24/15 Chương 1. Tổng quan về lập trình hướng đối 20/46
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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