Bài giảng Các nguyên lý lập trình hướng đối tượng - Nguyễn Minh Huy
Số trang: 43
Loại file: ppt
Dung lượng: 1.18 MB
Lượt xem: 15
Lượt tải: 0
Xem trước 5 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Các nguyên lý lập trình hướng đối tượng do Nguyễn Minh Huy biên soạn nêu lên phần mềm hướng đối tượng; nguyên lý Open-Close; nguyên lý Nghịch đảo phụ thuộc; nguyên lý Thay thế Liskov; nguyên lý Phân tách Interface. Mời các bạn tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Các nguyên lý lập trình hướng đối tượng - Nguyễn Minh Huy Các nguyên lýlập trình hướng đối tượng Nguyễn Minh Huy Bộ môn Công nghệ Phần mềm Nội dung Phần mềm hướng đối tượng Nguyên lý Open-Close Nguyên lý Nghịch đảo phụ thuộc Nguyên lý Thay thế Liskov Nguyên lý Phân tách Interface Thảo luận Nội dung Phần mềm hướng đối tượng Nguyên lý Open-Close Nguyên lý Nghịch đảo phụ thuộc Nguyên lý Thay thế Liskov Nguyên lý Phân tách Interface Thảo luậnPhần mềm hướng đối tượng Phần mềm là gì? “A computer program, enable a computer to perform a specific task” (wikipedia). “Software is nothing but a set of ideas… express a Software way is something to do something. Thosethat is…are ideas soft!! written in a code the same way our words and sentences code our thoughts... The code is only the representation of the ideas, and the ideas are really the software” (Hardware is from Mars; Software is from Venus, Winn Rosch). Phần mềm hướng đối tượng Thế nào là phần mềm hướng đối tượng? Có Cókhai khaibáo báo và vàsử sửdụng dụng đối đốitượng? tượng? Chưa đủ!!Tuân thủ nguyên lý lập trình hướng Sử dụngđối đối tượng thông tượng thếqua nào đây?? việc vận dụng các tính chất lập trình hướng đối tượngPhần mềm hướng đối tượng Ba tính chất lập trình Nguyên hướng đối tượng: lý Open-Close Tính (The đóng góiOpen-Closed Principle) (Encapsulation). Tính kế thừa (Inheritance). Nguyên lý Nghịch đảo phụ thuộc Tính đa hình (Polymorphism). (The Dependency Inversion Principle) Nguyên lý lập trình hướng đối tượng: Nguyên lý Thay thế Liskov Những quy tắc cơ bản mang tính chất nền tảng. (The Liskov Substitution Principle) Có tính khái quát và trừu tượng cao. Là “kim Nguyên chỉ nam” cho hoạt lý Phân tách động phân tích thiết kế Interface hướng đối (The tượng.Segregation Principle) Interface Nội dung Phần mềm hướng đối tượng Nguyên lý Open-Close Nguyên lý Nghịch đảo phụ thuộc Nguyên lý Thay thế Liskov Nguyên lý Phân tách Interface Thảo luận Nguyên lý Open-Close Betrand Meyers đề cập lần đầu tiên năm 1988 trong Object Oriented Software Construction. Phát biểu: “Các thực thể phần mềm (hàm, đơn thể, đối tượng, …) nên được xây dựng theo hướng mở cho việc mở rộng (be opened for extension) nhưng đóng đối với việc sửa đổi (be closed for modification)”. Nguyên lý Open-Close Không tuân thủ nguyên lý Open-Close!!Phần mềm Phần mềm Nguyên lý Open-Close Ví dụ chương trình vẽ hình:public enum ShapeType { LINE, RECTANGLE }public abstract class Shape{ public abstract ShapeType getType();}public class Line: Shape{ public override ShapeType getType(); public void drawLine();}public class Rectangle: Shape{ public override ShapeType getType(); public void drawRectangle();} Nguyên lý Open-Closepublic void draw(ArrayList shapeList){ Line line; Rectangle rectangle; foreach (Shape s in shapeList) switch (s.getType()) { case ShapeType.LINE: line = (Line)s; line.drawLine(); break; case ShapeType.RECTANGLE: rectangle = (Rectangle)s; rectangle.drawRectangle(); break; }} Nguyên lý Open-Closepublic abstract class Shape{ public abstract void draw();}public class Line: Shape{ public override void draw();}public class Rectangle: Shape{ public override void draw();} Nguyên lý Open-Closepublic void draw(ArrayList shapeList){ foreach (Shape s in shapeList) s.draw();} Nguyên lý Open-Closepublic abstract class Shape{ public abstract void draw();}public class Line: Shape{ public override void draw();}public class Rectangle: Shape{ public override void draw();}public class Circle: Shape{ public override void draw();} Nguyên lý Open-CloseClientClient Shape Shape Line Line Rectangle Rectangle Circle Circle … Nguyên lý Open-Close Ghi chú: Nguyên lý cốt lõi của phân tích thiết kế hướng đối tượng. Ưu tiên áp dụng nguyên lý cho các thực thể phần mềm phải thường xuyên nâng cấp, mở rộng. Việc tuân thủ nguyên lý mang tính tương đối, phụ thuộc ngữ cảnh. Nguyên lý Open-Close Áp dụng: Thuộc tính của đối tượng là private để hạn chế sự kết dính không cần thiết (coupling). Đối tượng nắm giữ thông tin và chịu trách nhiệm trên thông tin mình nắm giữ!! Hạn chế ép kiểu động (runtime type-casting). ...
Nội dung trích xuất từ tài liệu:
Bài giảng Các nguyên lý lập trình hướng đối tượng - Nguyễn Minh Huy Các nguyên lýlập trình hướng đối tượng Nguyễn Minh Huy Bộ môn Công nghệ Phần mềm Nội dung Phần mềm hướng đối tượng Nguyên lý Open-Close Nguyên lý Nghịch đảo phụ thuộc Nguyên lý Thay thế Liskov Nguyên lý Phân tách Interface Thảo luận Nội dung Phần mềm hướng đối tượng Nguyên lý Open-Close Nguyên lý Nghịch đảo phụ thuộc Nguyên lý Thay thế Liskov Nguyên lý Phân tách Interface Thảo luậnPhần mềm hướng đối tượng Phần mềm là gì? “A computer program, enable a computer to perform a specific task” (wikipedia). “Software is nothing but a set of ideas… express a Software way is something to do something. Thosethat is…are ideas soft!! written in a code the same way our words and sentences code our thoughts... The code is only the representation of the ideas, and the ideas are really the software” (Hardware is from Mars; Software is from Venus, Winn Rosch). Phần mềm hướng đối tượng Thế nào là phần mềm hướng đối tượng? Có Cókhai khaibáo báo và vàsử sửdụng dụng đối đốitượng? tượng? Chưa đủ!!Tuân thủ nguyên lý lập trình hướng Sử dụngđối đối tượng thông tượng thếqua nào đây?? việc vận dụng các tính chất lập trình hướng đối tượngPhần mềm hướng đối tượng Ba tính chất lập trình Nguyên hướng đối tượng: lý Open-Close Tính (The đóng góiOpen-Closed Principle) (Encapsulation). Tính kế thừa (Inheritance). Nguyên lý Nghịch đảo phụ thuộc Tính đa hình (Polymorphism). (The Dependency Inversion Principle) Nguyên lý lập trình hướng đối tượng: Nguyên lý Thay thế Liskov Những quy tắc cơ bản mang tính chất nền tảng. (The Liskov Substitution Principle) Có tính khái quát và trừu tượng cao. Là “kim Nguyên chỉ nam” cho hoạt lý Phân tách động phân tích thiết kế Interface hướng đối (The tượng.Segregation Principle) Interface Nội dung Phần mềm hướng đối tượng Nguyên lý Open-Close Nguyên lý Nghịch đảo phụ thuộc Nguyên lý Thay thế Liskov Nguyên lý Phân tách Interface Thảo luận Nguyên lý Open-Close Betrand Meyers đề cập lần đầu tiên năm 1988 trong Object Oriented Software Construction. Phát biểu: “Các thực thể phần mềm (hàm, đơn thể, đối tượng, …) nên được xây dựng theo hướng mở cho việc mở rộng (be opened for extension) nhưng đóng đối với việc sửa đổi (be closed for modification)”. Nguyên lý Open-Close Không tuân thủ nguyên lý Open-Close!!Phần mềm Phần mềm Nguyên lý Open-Close Ví dụ chương trình vẽ hình:public enum ShapeType { LINE, RECTANGLE }public abstract class Shape{ public abstract ShapeType getType();}public class Line: Shape{ public override ShapeType getType(); public void drawLine();}public class Rectangle: Shape{ public override ShapeType getType(); public void drawRectangle();} Nguyên lý Open-Closepublic void draw(ArrayList shapeList){ Line line; Rectangle rectangle; foreach (Shape s in shapeList) switch (s.getType()) { case ShapeType.LINE: line = (Line)s; line.drawLine(); break; case ShapeType.RECTANGLE: rectangle = (Rectangle)s; rectangle.drawRectangle(); break; }} Nguyên lý Open-Closepublic abstract class Shape{ public abstract void draw();}public class Line: Shape{ public override void draw();}public class Rectangle: Shape{ public override void draw();} Nguyên lý Open-Closepublic void draw(ArrayList shapeList){ foreach (Shape s in shapeList) s.draw();} Nguyên lý Open-Closepublic abstract class Shape{ public abstract void draw();}public class Line: Shape{ public override void draw();}public class Rectangle: Shape{ public override void draw();}public class Circle: Shape{ public override void draw();} Nguyên lý Open-CloseClientClient Shape Shape Line Line Rectangle Rectangle Circle Circle … Nguyên lý Open-Close Ghi chú: Nguyên lý cốt lõi của phân tích thiết kế hướng đối tượng. Ưu tiên áp dụng nguyên lý cho các thực thể phần mềm phải thường xuyên nâng cấp, mở rộng. Việc tuân thủ nguyên lý mang tính tương đối, phụ thuộc ngữ cảnh. Nguyên lý Open-Close Áp dụng: Thuộc tính của đối tượng là private để hạn chế sự kết dính không cần thiết (coupling). Đối tượng nắm giữ thông tin và chịu trách nhiệm trên thông tin mình nắm giữ!! Hạn chế ép kiểu động (runtime type-casting). ...
Tìm kiếm theo từ khóa liên quan:
Lập trình hướng đối tượng Nguyên lý ập trình hướng đối tượng Nguyên lý Open-Close Nguyên lý Nghịch đảo phụ thuộc Nguyên lý Thay thế Liskov Nguyên lý Phân tách InterfaceGợi ý tài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 270 0 0 -
101 trang 199 1 0
-
14 trang 133 0 0
-
Giáo trình lập trình hướng đối tượng - Lê Thị Mỹ Hạnh ĐH Đà Nẵng
165 trang 112 0 0 -
Giáo trình Lập trình Windows 1 - Trường CĐN Đà Lạt
117 trang 96 0 0 -
Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh
111 trang 95 0 0 -
265 trang 77 0 0
-
Giáo trình Lập trình hướng đối tượng với Java: Phần 2 - Trần Thị Minh Châu, Nguyễn Việt Hà
141 trang 75 0 0 -
33 trang 67 0 0
-
Ngôn ngữ lập trình C# 2005 - Tập 3: Lập trình hướng đối tượng (Phần 1)
196 trang 51 0 0