Bài giảng cơ sở lập trình máy tính chương 3 ths nguyễn thị khiêm hòa

42 150 0
Bài giảng cơ sở lập trình máy tính  chương 3   ths  nguyễn thị khiêm hòa

Đ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

Chương 3: Xây dựng lớp _ đối tượng Giảng viên: Ths Nguyễn Thị Khiêm Hòa Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Nội dung  Định nghĩa Lớp  Tạo đối tượng  Xây dựng phương thức  Sử dụng thành phần tĩnh (Static)  Đóng gói liệu Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Đối tượng (Object)  Mô tả thực thể hay quan hệ giới thực  Có thuộc tính (properties) hành vi (behaviors)  Có thể thực thể vật lý hay thực thể khái niệm  Mô tả vấn đề cần thao tác hệ thống Đối tượng = Dữ liệu + Hành vi Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Đối tượng (Object)  Thuộc tính: mô tả thông tin đối tượng  Trạng thái: định nghĩa giá trị thuộc tính thời điểm  Hành vi: hoạt động đối tượng cài đặt thành phương thức (methods) Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Multimedia: Lớp đối tượng đối tượng Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Lớp đối tượng  Lớp (Class):     Class Covered Porch Thiết kế đối tượng Chứa thuộc tính phương thức Được xem kiểu liệu trừu tượng kitchen Dining Room Đối tượng (Object):  Thể (Instance) lớp, đóng vai trò biến chương trình Được tạo từ khóa new  Có hoạt động  Object Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Living Room Bath Office Family Room Xây dựng lớp tạo đối tượng  Xây dựng lớp  Khai báo lớp cách sử dụng từ khoá class [Bổ từ truy cập] class [: Lớp sở] { // Các thành phần liệu // Hàm } Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Xây dựng lớp tạo đối tượng Ví dụ public class hocsinh { private string hoten; public int lop ; public void lenlop() { lop = lop +1; } } // kết thúc lớp Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Xây dựng lớp tạo đối tượng Ví dụ public class Taikhoan { private string tentk; private double sodutk = 0; private double gioihanrut; public void naptien(double tiennap) { sodutk = sodutk + tiennap; } public void ruttien(double tienrut) { sodutk = sodutk - tienrut; } } Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Xây dựng lớp tạo đối tượng  Tạo đối tượng Taikhoan tk = new Taikhoan();  Truy xuất thành phần tk.naptien(100000); Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Hủy đối tượng  Ngôn ngữ C# cung cấp chế thu dọn (garbage collection)  Khai báo tường minh phương thức hủy để giải phóng tài nguyên với đoạn mã không quản lý  Phương thức Finalize()  Giải phóng tài nguyên mà đối tượng nắm giữ, không tham chiếu đến đối tượng khác  Được gọi chế thu dọn đối tượng bị hủy Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Phương thức hủy   Khai báo: ~MyClass(){} Gọi phương thức Finalize() Ví dụ class Point { … public void Dispose() { GC.SuppressFinalize( this ); } public override void Finalize() { Dispose(); base.Finalize(); } } Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Xây dựng phương thức  Phương thức tập hợp lệnh thực chức Ví dụ using System; public class Time { public void DisplayCurrentTime() { Console.WriteLine(“{0}:{1}:{2}”,Hour, Minute, Second); } public void GetTime(int h, int m, int s) { h = Hour; m = Minute; s = Second; } } Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Tham biến tham trị  Tham trị  Trực tiếp chứa DL  Phải khởi tạo  Không có giá trị null  int i; i = 42; i 42 Tham biến  Chứa địa  Khai báo từ khóa new  Được hủy NET garbage collection  Lớp tham chiếu CostObj c; c • Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM 42 Truyền tham số cho phương thức  Tham trị Ví dụ using System; public class Time { public void GetTime(int h, int m, int s) { h = Hour; m = Minute; s = Second; } public void DisplayCurrentTime() { int h=0, m=0, s=0; this.GetTime(h, m, s); Console.WriteLine(“{0}:{1}:{2}”,h,m,s); } } Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Truyền tham chiếu  Dùng từ khóa ref Ví dụ using System; public class Time { public void GetTime(ref int h, ref int m, ref int s) { h = Hour; m = Minute; s = Second; } public void DisplayCurrentTime() { int h=0, m=0, s=0; this.GetTime(ref h, ref m, ref s); Console.WriteLine(“{0}:{1}:{2}”,h,m,s); } } Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Truyền tham chiếu  Cách gọi phương thức truyền tham chiếu using System; public class Tester { static void Main() { System.DateTime currentTime = System.DateTime.Now; Time t = new Time( currentTime); t.DisplayCurrentTime(); int h = 0, m = 0, s = 0; t.GetTime(ref h, ref h, ref s); System.Console.WriteLine(“Current time: {0}:{1}:{2}”, h, m, s); } } Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Truyền tham chiếu với biến chưa khởi tạo  Cách gọi phương thức truyền tham chiếu với từ khóa out using System; public class Time { public void GetTime(out int h, out int m, out int s) { h = Hour; m = Minute; s = Second; } } public class Tester { static void Main() { … int h, m, s; t.GetTime(out h, out m, out s); System.Console.WriteLine(“Current time: {0}:{1}:{2}”, h, m, s); } Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM } Nạp chồng phương thức  Tạo nhiều phương thức tên  Tham số khác nhau:  Số lượng tham số khác  Kiểu tham số khác Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Nạp chồng phương thức Ví dụ using System; public class Area { private double areaVal; public void AreaCal(double radius) { areaVal = 22/7*radius*radius; } public void AreaCal(double length, double width) { areVal = length * width; } } Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Đóng gói liệu   Nhằm tránh truy xuất trực tiếp đến thành phần liệu lớp Cú pháp: public class { //khai báo thuộc tính { get { //câu lệnh } set { //câu lệnh } } Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM } Đóng gói liệu Ví dụ public class Employee { private string fullName; public string Name { get public class Tester { { return fullName static void Main() } { set Employee p = new Employee; { p.Name = “Nguyễn”; fullName = value; … } } } } } Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Đóng gói liệu  Các kiểu thuộc tính  Read/ Write Property  Read Only  Write Only Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Bài tập Thực  Xây dựng lớp Point chứa tọa độ điểm mặt phẳng Oxy Nhập điểm mặt phẳng tính khoảng cách hai điểm 45 Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Q&A Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM [...]... Phạm vi Khai báo public Không giới hạn private Chỉ truy cập trong nội bộ của lớp internal protected protected internal Cho phép các lớp trong cùng chương trình truy cập Được truy xuất bởi các thành viên trong lớp và lớp dẫn xuất Cho phép các lớp cùng chương trình, hoặc các lớp dẫn xuất truy cập Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Phương thức khởi tạo  Phương thức đặc biệt, được... main() { Thoigian t1(14,2,2011,7 ,30 ,0); Thoigian t2 = new Thoigian(t1); … } Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Bài tập Thực hiện Xây dựng lớp Tài khoản hoàn chỉnh 10 min Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Từ khóa this  Dùng để tham chiếu đến thể hiện hiện hành của một đối tượng  Con trỏ ẩn đến tất các phương thức không có thuộc tính tĩnh (nonstatic) trong... TP.HCM Phương thức khởi tạo tĩnh  Được thực thi 1 lần khi chương trình thực thi  Thực thi trước bất kỳ thể hiện được tạo ra  Không tham số và bổ từ truy cập  Không cho phép truy xuất trực tiếp  Dùng khởi tạo các thành phần tĩnh Ví dụ public class A { static int x; static A() { x = 0; } } Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Bài tập Thực hiện Tạo ra lớp đường tròn, có thành phần... GC.SuppressFinalize( this ); } public override void Finalize() { Dispose(); base.Finalize(); } } Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Từ khóa this  Gọi nạp chồng phương thức thiết lập từ phương thức thiết lập khác Ví dụ class Point { private double x; private double y; public Point(double a, double b) { this.x = a; this.y = b; } public Point(): this(5,5) {} } Khoa Công nghệ Thông tin – Trường... Trường Đại học Ngân hàng TP.HCM Hủy đối tượng  Ngôn ngữ C# cung cấp cơ chế thu dọn (garbage collection)  Khai báo tường minh các phương thức hủy để giải phóng các tài nguyên với các đoạn mã không được quản lý  Phương thức Finalize()  Giải phóng các tài nguyên mà đối tượng nắm giữ, và không tham chiếu đến các đối tượng khác  Được gọi bởi cơ chế thu dọn khi đối tượng bị hủy Khoa Công nghệ Thông tin –... trước khi khởi tạo đối tượng (thể hiện) của lớp  Dùng chung cho tất cả các thể hiện của lớp  Sử dụng không thông qua một thể hiện nào trong lớp  Khai báo thành phần tĩnh bằng từ khóa static  Thuộc tính tĩnh lưu trữ trạng thái liên quan đến tất cả các thể hiện Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Phương thức tĩnh  Hàm Main()  Được xem là hoạt động chung chứ không riêng thể ... lớp internal protected protected internal Cho phép lớp chương trình truy cập Được truy xuất thành viên lớp lớp dẫn xuất Cho phép lớp chương trình, lớp dẫn xuất truy cập Khoa Công nghệ Thông tin... Thiết kế đối tượng Chứa thuộc tính phương thức Được xem kiểu liệu trừu tượng kitchen Dining Room Đối tượng (Object):  Thể (Instance) lớp, đóng vai trò biến chương trình Được tạo từ khóa new ... lớp  Khai báo lớp cách sử dụng từ khoá class [Bổ từ truy cập] class [: Lớp sở] { // Các thành phần liệu // Hàm } Khoa Công nghệ Thông tin

Ngày đăng: 04/12/2015, 14:17

Từ khóa liên quan

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

Tài liệu liên quan