Bài giảng Lập trình hướng đối tượng: Chương 3 - Phạm Mạnh Cương
lượt xem 4
download
Chương 3: Lớp và đối tượng. Nội dung chính trong chương này gồm: Định nghĩa lớp, tạo đối tượng, sử dụng các thành viên tĩnh, truyền tham số, hàm dựng và nạp chồng phương thức, đóng gói dữ liệu với property. Mời các bạn cùng tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình hướng đối tượng: Chương 3 - Phạm Mạnh Cương
- CHƯƠNG 3: Lớp và đối tượng
- Nội dung chính Định nghĩa lớp Tạo đối tượng Sử dụng các thành viên tĩnh Truyền tham số Hàm dựng và nạp chồng phương thức Đóng gói dữ liệu với property
- 1. Định nghĩa lớp Lớp trong C# cho phép người lập trình tự định nghĩa các kiểu dữ liệu phức tạp (user-defined types) và được sử dụng tương tự như kiểu dữ liệu có sẵn (built-in data types). Lớp thường được sử dụng để định nghĩa các vấn đề trừu tượng như: ngày tháng, vector … Lớp cho phép tách rời phần cài đặt (implementation) và phần giao diện (interface).
- 1.Định nghĩa lớp (tt) Mộtlớp có chứa dữ liệu (member data) và hàm (member function). Class data1 data2 data3 functiona() functionb() functionc()
- Ví dụ class Employee // khai báo tên lớp { // từ khóa cho biết không thể truy nhập từ ngoài lớp private int EmpID ; // member data private char EmpName[30]; private float EmpSalary; // từ khóa cho biết có thể truy nhập từ ngoài lớp public void AddEmployee(); // member function };
- Bổ từ truy xuất Từ khoá Giải thích public Truy xuất mọi nơi protected Truy xuất trong nội bộ lớp hoặc trong các lớp con private (mặc định) Chỉ được truy xuất trong nội bộ lớp
- Ví dụ using System; public class Time { // phương thức public public void DisplayCurrentTime() { Console.WriteLine("stub for DisplayCurrentTime"); } // các biến private private int Year; int Month; int Date; public int Hour,Minute, Second; } public class Tester { static void Main() { Time t = new Time(); t.DisplayCurrentTime(); } }
- Điều khiển truy nhập Phần được khai báo với từ khóa Class private chỉ được truy nhập bởi các private hàm thành phần của cùng class data1 data2 functiond() Phần được khai báo với từ khóa public public có thể được truy nhập tại functiona() bất kỳ nơi nào trong chương trình functionb() functionc()
- 2.Tạo đối tượng Cú pháp khai báo đối tượng và cấp phát vùng nhớ cho đối tượng: TênLớp TênBiếnĐốiTượng; TênBiếnĐốiTượng = new TênLớp(DanhSáchĐốiSố); hoặc TênLớp TênBiếnĐốiTượng = new TênLớp(DanhSáchĐốiSố); Chú ý: • Sau khi khai báo biến đối tượng thì biến đó chỉ là một con trỏ. • Sau khi cấp phát bắng từ khóa new thì biến trỏ tới một đối tượng thực sự.
- 2.Tạo đối tượng Ví dụ: public void Xuat() Chương trình nhập chiều dài, chiều rộng của hình chữ nhật và xuất ra diện { tích, chu vi của hình chữ nhật. Console.WriteLine("Hinh chu nhat: Dai = {0}, using System; Rong = {1}", Dai, Rong); namespace LopDoiTuongHCN } { } class HCN class Application { { protected float Dai, Rong; static void Main(string[] args) public float ChuVi() { { HCN h; return (Dai + Rong )*2; h = new HCN(); } h.Nhap(); public float DienTich() h.Xuat(); { Console.WriteLine("Chu vi hinh chu nhat: return Dai* Rong; {0}", h.ChuVi()); } Console.WriteLine("Dien tich hinh chu nhat: public void Nhap() {0}", h.DienTich()); { Console.ReadLine(); Console.WriteLine("Nhap chieu dai: "); } Dai = float.Parse(Console.ReadLine()); } Console.WriteLine("Nhap chieu rong: "); } Rong = float.Parse(Console.ReadLine()); }
- Từ khoá this Từ khoá this được dùng để tham chiếu đến chính bản thân của đối tượng đó. Ví dụ: public void SomeMethod (int hour) { this.hour = hour; }
- 3.Sử dụng các thành viên tĩnh Phương thức tĩnh (static) được nói là hoạt động trong lớp. Do đó, nó không thể được tham chiếu this chỉ tới. Phương thức static cũng không truy cập trực tiếp vào các phương thức không static được mà phải dùng qua thể hiện của đối tượng. Việc truy cập đến thành viên tĩnh (static) phải thực hiện thông qua tên lớp (không được truy cập thành viên tĩnh thông qua đối tượng) theo cú pháp: TênLớp.TênThànhViênTĩnh
- Ví dụ Ví dụ 4‑ 6 Cách sử dụng phương thức tĩnh using System; public class MyClass { public void SomeMethod(int firstParam, float secondParam) { Console.WriteLine("Here are the parameters received: {0}, {1}", firstParam, secondParam); } } ------------------------------------------------------------------------------------- public class Tester { static void Main( ) { int howManyPeople = 5; float pi = 3.14f; MyClass mc = new MyClass( ); mc.SomeMethod(howManyPeople, pi); } } Trong ví dụ trên phương thức Main() là tĩnh và phương thức SomeMethod() không là tĩnh.
- 3.Sử dụng các trường tĩnh (tt) Cách dùng chung các biến thành viên tĩnh là giữ vết của một số các thể hiện mà hiện tại nó đang tồn tại trong lớp đó. using System; public void HowManyCats1() public class Cat { { public Cat() Console.WriteLine("{0} { cats adopted", instances); instances++; } } private static int instances = public static void HowManyCats() { 0; Console.WriteLine("{0} cats public static int instances1 = adopted",instances); 0; } }
- 3. Sử dụng các trường tĩnh (tt) public class Tester { static void Main() { Cat c = new Cat(); //Truy cap vao phuong thuc ko Static ph ải t ạo 1 đối tượng c.HowManyCats1(); //Khong the truy cap vao phuong thuc Static //bang this, hay the hien //đoi tuong ma Tendoituong.phuongthuc_static Cat.HowManyCats(); Cat frisky = new Cat(); Cat.HowManyCats(); Cat whiskers = new Cat(); Cat.HowManyCats(); } }
- 4. Truyền tham số Trong C#, ta có thể truyền tham số cho phương thức theo kiểu tham chiếu hoặc tham trị
- Truyền bằng tham chiếu Mộthàm chỉ có thể trả về một giá trị. Trong trường hợp muốn nhận về nhiều kết quả, ta sử dụng chính các tham số truyền cho hàm như các tham số có đầu ra (chứa trị trả về). Ta gọi tham số truyền theo kiểu này là tham chiếu.
- Ví dụ Trị trả về trong tham số public class Time { // một phương thức public public void DisplayCurrentTime() { System.Console.WriteLine("{0}/{1}/{2} {3}:{4}:{5}“, Month, Date, Year, Hour, Minute, Second); } public int GetHour( ) { return Hour; } public void GetTime(ref int h, ref int m, ref int s) { h = Hour; m = Minute; s = Second; }
- Ví dụ (tt) // hàm dựng public Time(System.DateTime dt) { Year = dt.Year; Month = dt.Month; Date = dt.Day; Hour = dt.Hour; Minute = dt.Minute; Second = dt.Second; } // biến thành viên private private int Year; private int Month; private int Date; private int Hour; private int Minute; private int Second; }
- Ví dụ (tt) public class Tester { static void Main( ) { System.DateTime currentTime = System.DateTime.Now; Time t = new Time(currentTime); t.DisplayCurrentTime( ); int theHour = 0; int theMinute = 0; int theSecond = 0; t.GetTime(ref theHour, ref theMinute, ref theSecond); System.Console.WriteLine("Current time: {0}:{1}:{2}", theHour, theMinute, theSecond); } }
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - TS. Trần Công Án
57 p | 89 | 13
-
Bài giảng Lập trình hướng đối tượng: Chương 2 - Nguyễn Sơn Hoàng Quốc, ThS. Nguyễn Tấn Trần Minh Khang
14 p | 174 | 12
-
Bài giảng Lập trình hướng đối tượng - Chương 1: Phương pháp lập trình hướng đối tượng
9 p | 140 | 9
-
Bài giảng Lập trình hướng đối tượng C++ - Chương 2: Lập trình hướng đối tượng
53 p | 46 | 8
-
Bài giảng Lập trình hướng đối tượng (dùng Java): Chương 1 - Trần Minh Thái (2017)
55 p | 80 | 8
-
Bài giảng Lập trình hướng đối tượng - Bài 1: Tổng quan lập trình hướng đối tượng
53 p | 120 | 8
-
Bài giảng Lập trình hướng đối tượng (Dùng C#): Chương 2 - Trần Minh Thái
35 p | 103 | 8
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Thị Anh Thi
7 p | 197 | 7
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - ThS. Trịnh Thành Trung
53 p | 86 | 7
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Minh Thái
40 p | 116 | 6
-
Bài giảng Lập trình hướng đối tượng 1: Chương 1 - ThS. Thái Kim Phụng
39 p | 100 | 6
-
Bài giảng Lập trình hướng đối tượng – Bài 01: Tổng quan về OOP
47 p | 63 | 5
-
Bài giảng Lập trình hướng đối tượng (dùng JAVA): Chương 1 - Trần Minh Thái
40 p | 99 | 5
-
Bài giảng Lập trình hướng đối tượng và C++: Chương 1
15 p | 103 | 4
-
Bài giảng Lập trình hướng đối tượng: Nhập môn - Trần Phước Tuấn
15 p | 139 | 4
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - Tổng quan về lập trình hướng đối tượng
47 p | 11 | 4
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Các khái niệm cơ bản trong lập trình hướng đối tượng
36 p | 15 | 3
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - Nguyễn Khanh Văn
0 p | 83 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn