1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng kỹ thuật lập trình chương 5 trường đại học ngoại ngữ tin học tp hcm

97 0 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 97
Dung lượng 1,61 MB

Nội dung

KỸ THUẬT HƯỚNG ĐỐI TƯỢNG Khoa Công nghệ thông tin Trường Đại học Ngoại ngữ - Tin học TP.HCM (HUFLIT) Nội dung • Giới thiệu lập trình hướng đối tượng (OOP) • Các khái niệm: đối tượng (object), thuộc tính (attribute/field), phương thức (method), lớp (class), thực thể (instance) • Các đặc điểm OOP • Phương pháp phân tích thiết kế OOP • Kỹ thuật tổ chức code OOP • Bài tập vận dụng GIỚI THIỆU OOP Mơ hình lập trình • Mơ hình lập trình (Programming Paradigms): cách thức tổ chức, xây dựng chương trình máy tính • Mỗi ngơn ngữ lập trình hỗ trợ mơ hình lập trình định • Một số mơ hình lập trình thơng dụng: • Imperative/Sequential Programming • Structured Programming • Procedural Programming • Object Oriented Programming •… Bài tốn ví dụ • Bài toán quản lý giao dịch Khách hàng với Ngân hàng • Khách hàng có giao dịch với ngân hàng như: • Nạp tiền vào tài khoản • Rút tiền từ tài khoản • Chuyển khoản tài khoản Bài tốn ví dụ • Lập trình hướng thủ tục để giải tốn: • Quan tâm đến chức (thủ tục) cần thực • Chương trình lớn chia thành chức (thủ tục) nhỏ hoạt động độc lập với • Phần lớn chức sử dụng liệu chung Các chức năng: Nạp tiền, rút tiền, chuyển khoản Bài tốn ví dụ • Các vấn đề lập trình hướng thủ tục: • Quản lý nhiều chức • Quản lý liệu q phức tạp • Khó mở rộng chức sử dụng lại module viết  Lập trình hướng đối tượng Bài tốn ví dụ • Lập trình hướng đối tượng để giải tốn: • Chương trình chia thành đối tượng (Object) • Mỗi Object có liệu riêng chức tương ứng • Các Object trao đổi thơng tin với thông qua phương thức (chức năng) Các đối tượng: Khách hàng, Tiền, Tài khoản Lập trình hướng đối tượng • Lập trình hướng đối tượng (Object-Oriented Programming - OOP): • Là mơ hình lập trình mà giới thực mô tả thành tập đối tượng (Object) giao tiếp với • Mỗi Object có thuộc tính (Attribute/Field) hành vi (Method) tương ứng • Tập hợp đối tượng giống nhóm thành lớp (Class) Mỗi đối tượng cụ thể lớp gọi thực thể (Instance) Object • Object biểu diễn đối tượng giới thực • Object đơn vị OOP • Các Object đặc trưng thuộc tính phương thức • Thuộc tính (Attribute/Field) liệu lưu trữ giá trị đặc trưng Object • Phương thức (Method) thao tác tác động lên liệu để thực hành vi Object Thuộc tính • • • • • Họ tên Địa Số CMND Số TK … Phương thức • • • • • Nạp tiền Rút tiền Chuyển tiền Gửi tiết kiệm … 10 Từ khóa ‘this’ • Từ khóa ‘this’ • this tham chiếu đến đối tượng mà • Khi lớp, truy cập thành viên (field method) lớp thơng qua this • Ví dụ: this.title, this.MethodName() • Cách dùng this • Thông thường không cần dùng this • Khi name hiding xảy ra, dùng this để truy cập đến field lớp 83 Từ khóa ‘this’ class Book { private private private private string title; string author; int pages; int wordCount; public Book(string title) { this.title = title; } public Book(string title, string author) { this.title = title; this.author = author; } public Book(string title, string author, int pages, int wordCount) { this.title = title; this.author = author; this.pages = pages; this.wordCount = wordCount; } } 84 84 Thêm Methods • Bước 3: Hình dung lớp cần cung cấp chức (method nào)? • Ví dụ: Người dùng lớp Book có muốn • Truy cập lấy title Book? • Gán title khác cho Book? • Gán số từ cho Book dựa nội dung cung cấp, …? 85 Thêm Methods class Book { private string title; private string author; private int pages; private int wordCount; … public string GetTitle() { return title; } public void SetTittle(string title) { this.title = title; } public void SetWordCoutFromText(string text) { wordCount = text.Split(' ').Length; } } 86 Thêm Methods • Giải thích: • Access Modifier method: • public: người dùng ngồi lớp gọi phương thức • private: Phương thức gọi bên lớp • Phương thức bắt đầu Get, Set • Get: Phương thức trả giá trị • Set: Phương thức gán giá trị (thường kiểm tra giá trị trước gán) 87 Optional parameter 88 Optional parameter 89 Named parameters public int Clamp(int value, int min, int max) { if(value < min) { return min; } if(value > max) { return max; } return value; } Clamp(20, 50, 100); Clamp(min: 50, max: 100, value: 20); • Khi dùng named parameter, thứ tự tham số không quan trọng 90 Số lượng tham số không xác định public double Average(int a, int b) { return (a + b) / 2.0; } public double Average(int a, int b, int c) { return (a + b + c) / 3.0; } public double Average(params int[] numbers) { double total = 0; foreach (int number in numbers) total += number; Average(2, 3); Average(2, 5, 8); Average(41, 49, 29, 2, -7, 18); return total / numbers.Length; } 91 Tạo đối tượng class Program { static void Main(string[] args) { Book book = new Book("Mindset", "Carol Dweck"); Console.WriteLine(book.GetTitle()); book.SetTittle("Mindset: How You Can Fulfil Your Potential"); Console.WriteLine(book.GetTitle()); } } 92 Từ khóa ‘static’ • Thành viên đánh dấu static • Thành viên khơng thuộc đối tượng (object/instance) • Thành viên shared cho đối tượng (objects/instances) • Static variable • Biến đánh dấu static phía trước • Biến shared cho đối tượng • Dùng tên lớp để truy cập biến class Something { public static } int sharedNum; 93 Từ khóa ‘static’ • Static method • Method đánh dấu static phía trước • Gọi Method khơng cần tạo đối tượng • Dùng tên lớp để gọi method • Trong static method, không truy cập instance variable class Something { public static void SharedMethod() { } } 94 Từ khóa ‘static’ • Static class • Class đánh dấu static phía trước • Tất member phải static • Thường dùng để tạo method tiện ích • Ví dụ 1: Lớp Console, Console.WriteLine() • Ví dụ 2: static class Something { public static int public { static void shareNumber; SharedMethod() } } 95 Từ khóa ‘static’ • Static constructor • Constructor đánh dấu static phía trước • Dùng để khởi tạo biến static • Hàm static constructor chạy lần dùng lớp class Something { public static static { int sharedNumber; Something() sharedNumber = 8; } } 96 BÀI TẬP VẬN DỤNG

Ngày đăng: 27/07/2023, 08:38

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN