[r]
(1)7/5/16
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG (OOP) VỚI C#
PHAN TRỌNG TIẾN
BM Công nghệ phần mềm
Khoa Công nghệ thông tin, VNUA Email: phantien84@gmail.com Website: http://timoday.edu.vn
7/5/16 Lập trình hướng đối tượng với C# 1
Mục tiêu
q Hiểu lập trình hướng đối tượng
q Các đặc trưng lập trình hướng đối tượng
q Các khai báo sử dụng lập trình hướng đối tượng C#
q Nguồn giảng:
q
http://www.c-sharpcorner.com/UploadFile/asmabegam/basic-concept-of-oop-in-C-Sharp/
(2)7/5/16
Nội dung
q Lập trình hướng đối tượng gì?
q Điểm mạnh lập trình OOP
q Khái niệm Class Object
q Triển khai OOP C#
7/5/16 Lập trình hướng đối tượng với C# 3
(3)7/5/16
Điểm mạnh của OOP
q Tái sử dụng lại code
q Cung cấp cấu trúc module chương trình cách rõ ràng
q Che dấu liệu bên
q Bảo trì chỉnh sửa code dễ dàng
q Cung cấp framework thuận tiện với thư viện ởđó có component dễ dàng tương thích thay đổi lập trình viên
7/5/16 Lập trình hướng đối tượng với C# 5
Class Object
Class
q Định nghĩa trừu tượng đặc tính đối tượng
q Khách hàng
q Nhân viên
q Xe
q Bản thiết kế khuân mẫu
Object
q Một mẫu class
(4)7/5/16
Class
q Class giống bản thiết kế, ví dụ thiết kế nhà,
q Sử dụng class có thể viết phương thức riêng khai báo các biến
q Sử dụng object để truy cập phương thức các biến class
q Classes Objects sở OOP
7/5/16 Lập trình hướng đối tượng với C# 7
Các thuật ngữ bạn cần biết
q Classes
q Objects
q Properties
q Methods
q Events
q #1 Inheritance
q #2 Encapsulation
q #3 Polymorphism
(5)7/5/16
Các thuật ngữ
q Properties (Thuộc tính)
q Thay đổi đặc tính đối tượng
q Ex: “Màu sắc” xe
q Methods (Phương thức)
q Các hành động đối tượng
q Ex: “Xe hơi” có phương thức “Tăng tốc”
q Events (Sự kiện)
q Để thực tương tác với đối tượng
q Ex: “Xe hơi” có kiện “Mở cửa”
7/5/16 Lập trình hướng đối tượng với C# 9
#1 Inheritance
(6)7/5/16
#1 Inheritance
• “Shape” định nghĩa thuộc tính chung “color”
• “Square” thừa kế thuộc tính “color”
7/5/16 Lập trình hướng đối tượng với C# 11
#2 Encapsulation
q Che dấu thông tin
q Ex:
q “Shape” che dấu liệu bên đối tượng
q Toạđộđiểm thứ
(7)7/5/16
“Square” có một trường bên “_slide”
7/5/16 Lập trình hướng đối tượng với C# 13
#3 Polymorphism
q Xuất đối tượng khác
(8)7/5/16
#3 Polymorphism
7/5/16 Lập trình hướng đối tượng với C# 15
#4 Abstraction
q Người dùng không cần hiểu chi tiết cơng nghệ bên (ví dụ phận xe hơi)
q Chỉ “hiển thị” tính cần thiết đối tượng
(9)7/5/16
Khơng có instance từ lớp “Shape”
• Khơng sử dụng
toán tửnewđể
khởi tạo từđối tượng Shape
7/5/16 Lập trình hướng đối tượng với C# 17
Bài tập
(10)7/5/16
Triển khai OOP C#
q Class
q Object
q Variable
q Method Functions
q Access Modifiers
q Encapsulation
q Abstraction
q Inheritance
q Polymorphism
q Abstract Class/Method
q Virtual Class/Method
q Sealed Class/Method
q Static Class/Method
q Interface
7/5/16 Lập trình hướng đối tượng với C# 19
Class Object
q Class nên bắt đầu với từ khoá “Class” tên Class
q Để truy xuất vào phương thức biến class, sử dụng object
ShanuHouseClass objHouseOwner = new ShanuHouseClass();
class ShanuHouseClass {