Bài giảng Kỹ thuật lập trình: Chương 4 – ĐH Kinh tế Luật

58 33 0
Bài giảng Kỹ thuật lập trình: Chương 4 – ĐH Kinh tế Luật

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Kỹ thuật lập trình Chương 4: Lớp và đối tượng cung cấp cho người học các kiến thức: Lập trình truyền thống và lập trình hướng đối tượng, các khái niệm liên quan tới Lớp và đối tượng,... Mời các bạn cùng tham khảo nội dung chi tiết.

Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Chương Lớp đối tượng Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thơng Tin Nội dung Lập trình truyền thống lập trình hướng đối tượng Các khái niệm liên quan tới Lớp Đối tượng Các mức truy xuất Các thành phần lớp Thuộc tính, phương thức Operator Service Method Support Method Overloading method Parameter list method Alias chế gom rác tự động Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thơng Tin Lập trình truyền thống  Phương pháp tiếp cận lập trình truyền thống  Lập trình tuyến tính  Lập trình cấu trúc  Ưu điểm  Chương trình rõ ràng, dễ hiểu, dễ theo dõi  Tư giải thuật rõ ràng  Khuyết điểm  Không hỗ trợ việc sử dụng lại mã nguồn  Khi thay đổi cấu trúc liệu, phải thay đổi giải thuật  Phải giải mối quan hệ vĩ mô module phần mềm dự án lớn Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Lập trình hướng đối tượng  Đặc điểm  Tập trung vào liệu thay cho hàm  Chương trình chia thành đối tượng độc lập  Cấu trúc liệu thiết kế cho đặc tả đối tượng  Dữ liệu che giấu, bao bọc  Các đối tượng trao đổi với thông qua hàm  Chương trình thiết kế theo hướng tiếp cận từ lên Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thơng Tin Lập trình hướng đối tượng  Một số ưu điểm bật  Khơng có nguy liệu bị thay đổi tự chương trình  Khi thay đổi cấu trúc liệu đối tượng, không cần thay đổi mã nguồn đối tượng khác  Có thể sử dụng lại mã nguồn, tiết kiệm tài nguyên  Phù hợp với dự án phần mềm lớn, phức tạp Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Khái niệm Lớp Đối tượng Khái niệm đối tượng (object) lập trình hướng đối tượng giống đối tượng cụ thể giới thực Mỗi đối tượng có thuộc tính hành vi riêng  Thuộc tính (attribute) mô tả đặc điểm đối tượng  Hành vi phương thức hoạt động đối tượng, gọi tắt phương thức (method) Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khái niệm Lớp Đối tượng Ví dụ: Phân số Đặc điểm  Tử số  Mẫu số Thao tác  Cộng, trừ, nhân, chia  Tối giản  Nghịch đảo Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khái niệm Lớp Đối tượng Ví dụ: xe  Màu trắng  cửa  bánh  Hiệu Toyota  Chạy tới  Chạy lui  Xe dừng … Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Khái niệm Lớp Đối tượng Đối tượng: XeHoi Hiệu xe Màu xe Số bánh xe Số cửa Chạy tới Chạy lui Dừng xe Tên đối tượng Thuộc tính Phương thức Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Khái niệm Lớp Đối tượng Các đối tượng có đặc điểm (thuộc tính phương thức) giống gom nhóm thành lớp để phân biệt với đối tượng khác dễ quản lý Một lớp (class) phân loại đối tượng kiểu (type) đối tượng Ví dụ: − Các xe Toyota, Honda, Porsche thuộc lớp xe • Các chó giữ nhà, chó săn, chó kiểng thuộc lớp chó Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Thực Hàm Xây dựng hàm để thực tính tốn class PhanSo { private int tuSo; private int mauSo; public PhanSo Cong(PhanSo b) { PhanSo c = new PhanSo(); c.TuSo = this.MauSo * b.TuSo + this.TuSo * b.MauSo; c.MauSo = this.MauSo * b.MauSo; return c; } } Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thơng Tin Sử dụng tốn tử public static PhanSo operator +(PhanSo trai, PhanSo phai) { PhanSo c = new PhanSo(); c.TuSo = trai.MauSo * phai.TuSo + trai.TuSo * phai.MauSo; c.MauSo = trai.MauSo * phai.MauSo; return c; } Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Sử dụng toán tử Các tốn tử logic phải đơi với  > <  >= && CanhB > && CanhC > && (CanhA + CanhB) > CanhC && (CanhB + CanhC) > CanhA && (CanhA + CanhC) > CanhB) return true; return false; } public int ChuVi() { if (laHopLe() == false) return -1; return CanhA + CanhB + CanhC; } } Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Overloading Method Overloading Method:  Là đặc điểm lớp có nhiều phương thức tên khác Signature  Signature bao gồm: Số lượng đối số kiểu liệu đối số thứ tự đối số  Kiểu liệu trả khơng tính vào signature  Lợi ích Overloading khả tái sử dụng lại phương thức giúp việc gọi hàm “uyển chuyển”  Các Constructor trường hợp đặc biệt Overloading Method Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Overloading Method float tryMe(int x) { return x + 375; } Invocation result = tryMe(25, 4.32) float tryMe(int x, float y) { return x*y; } Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Parameter List Method C# cung cấp loại phương thức đặc biệt Parameter List, trường hợp đặc biệt Overloading Method public int Sum(params int { int s = 0; foreach(int x in arr) { s += x; } return s; } []arr) Sum(1, 2, 4) Sum() Sum(1, 5, -8,2) Ta truyền đối số kiểu int vào cho phương thức Sum Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Alias chế gom rác tự động Alias đặc điểm mà ô nhớ có nhiều biến đối tượng trỏ tới Ví dụ: PhanSo psA=new PhanSo(1,5); PhanSo psB=new PhanSo(3,7); Lúc RAM có nhớ cấp phát cho đối tượng phân số quản lý biến đối tượng psA psB psB psA Vùng nhớ A Vùng nhớ B Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Alias chế gom rác tự động Giả sử ta thực lệnh: psA=psB;  Ngơn ngữ nói “Phân số A Phân số B”, hệ thống máy tính làm việc theo chế “Phân số A trỏ tới vùng nhớ mà phân số B quản lý” Hay nói cách khác “Vùng nhớ B” có biến đối tượng trỏ tới(cùng quản lý) psB psA Vùng nhớ A Vùng nhớ B Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Alias chế gom rác tự động Như xuất Alias “vùng nhớ B” Lúc xảy tượng sau:  Tại “vùng nhớ B”, psA thay đổi thông tin làm cho psB thay đổi thông tin (vì đối tượng quản lý vùng nhớ)  “Vùng nhớ A” khơng cịn đối tượng tham chiếu tới, lúc hệ thống tự động thu hồi nhớ (hủy vùng nhớ A cấp trước đó), chế gọi chế gom rác tự động psB psA Vùng nhớ A Vùng nhớ B Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Alias chế gom rác tự động Đơi q trình thực phần mềm ta có nhu cầu chép đối tượng (tạo thêm đối tượng giống y xì đối tượng cũ nằm nhớ khác, để ta tự thay đổi thơng tin đối tượng chép mà không làm ảnh hưởng tới đối tượng gốc) C# hỗ trợ hàm MemberwiseClone để chép đối tượng public PhanSo copy() { return this.MemberwiseClone() as PhanSo; } Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Alias chế gom rác tự động Ví dụ: PhanSo psB = new PhanSo(1,4); psB PhanSo psA = psB.copy(); psA Vùng nhớ B Sao chép tồn thơng tin Vùng nhớ B vào vùng nhớ A Tức ta có đối tượng có thơng tin giống y xì nằm nhớ hồn tồn khác Vùng nhớ A psA thay đổi không ảnh hưởng tới psB ngược lại Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin END ... TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thơng Tin Lập trình truyền thống  Phương pháp tiếp cận lập trình truyền thống  Lập trình tuyến tính  Lập trình cấu trúc  Ưu điểm  Chương trình rõ... bày chi tiết chương sau Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khái niệm Lớp Đối tượng Tính kế thừa: Ví dụ: Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ... Học Kinh Tế Luật Khái niệm Lớp Đối tượng Ví dụ: xe  Màu trắng  cửa  bánh  Hiệu Toyota  Chạy tới  Chạy lui  Xe dừng … Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật

Ngày đăng: 16/07/2020, 11:04

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan