intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình trên Windows với Microsoft® .NET: Bài 4 - Hồ Hoàn Kiếm

Chia sẻ: Lavie Lavie | Ngày: | Loại File: PPT | Số trang:20

80
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Lập trình trên Windows với Microsoft® .NET: Bài 4 của Hồ Hoàn Kiếm sau đây sẽ giúp cho các bạn hiểu rõ hơn về Overloading Methods; kiểu Structs; Properties; Indexer. Mời các bạn tham khảo bài giảng để bổ sung thêm kiến thức về lĩnh vực này.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình trên Windows với Microsoft® .NET: Bài 4 - Hồ Hoàn Kiếm

  1. Lập trình trên Windows  với Microsoft® .NET Giảng viên : Hồ Hoàn Kiếm
  2. Overloading Methods  Áp dụng cho các toán tử :
  3. Overloading Methods public class Point { public int m_x; public int m_y; public Point (){ } public Point(int xx,int yy) { m_x = xx ; m_y = yy; } public static Point operator + (Point p1,Point p2) { Point result = new Point(); result.m_x = p1.m_x + p2.m_y; result.m_y = p1.m_x + p2.m_y; return result; } }
  4. Overloading Methods static void Main(string[] args) { Point objP1 = new Point(1,1); Point objP2 = new Point(2,2); Point objResult = new Point(); objResult = objP1 + objP2; Console.WriteLine("The result is m_x = {0} and m_y = {1}", objResult.m_x , objResult.m_y); }
  5. Kiểu Structs  Kiểu dữ liệu do người dùng định nghĩa.  Có thể định nghĩa các phương thức.  Có thể định nghĩa các Constructors  Structs là kiểu tham trị .  Structs không được kế thừa .
  6. Kiểu Structs public struct Point { public int x, y; public Point(int p1, int p2) { x = p1; y = p2; } public int Add() { return x+y; } }
  7. Kiểu Structs static void Main(string[] args) { Point p1 = new Point() ; Point p2 = new Point(10,10); Console.Write(" Point 1: "); Console.WriteLine("x = {0}, y = {1}", p1.x, p1.y); Console.Write(" Point 2: "); Console.WriteLine("x = {0}, y = {1}", p2.x, p2.y); Console.WriteLine("Call Add method: {0}",p2.Add()); Console.ReadLine(); }
  8. Kiểu Enumrator  Tập hợp các hằng số đã được đặt tên. enum Days { //mac dinh Phan tu dau tien bat tu 0 Sat, Sun, Mon, Tue, Wed, Thu, Fri };
  9. Kiểu Enumrator public static void Main() { int x = (int) Days.Sun; int y = (int) Days.Fri; Console.WriteLine("Sun = {0} : Value : {1}", x,Days.Sun); Console.WriteLine("Fri = {0} : Value : {1}", y,Days.Fri ); }  Kết quả : Sun = 2 : Value : Sun Fri = 7 : Value : Fri
  10. Properties  Sử dụng để truy cập các thành phần Private.  Kiềm tra dữ liệu cho các thành phần trong lớp . public class Square { public double mSide; } public class Test { static void Main() { Square obj = new Square (); obj. mSide = 3; } }
  11. Properties … public class Square { //Khi báo các thành phần private double mSide; // Khai báo property public double Side { get { }; set { }; } // Khai báo các phương thức }
  12. Properties …  Property giống như field, nhưng việc truy cập đươc thực hiện qua thao tác get và set . public int Side { get { return mSide; } set { if (mSide < 0) return ; mSide = value; } }
  13. Properties … namespace SampleProperty { public class Rectangle { private int m_Length ; private int m_Width ; private int m_Area ; public Rectangle() { m_Length = 3; // Length = 3; m_Width = 2; }
  14. Properties … public int Length { get { return m_Length; } set { if(m_Length < 0 ) return; m_length = value; } }
  15. Properties … public int Width { get { return m_Width; } set { // Đọan mã kiểm tra giá trị ….. m_Width = value; } }
  16. Properties … public int Area { get { return m_Area; } } public void CalArea() { m_Area = m_Length*m_Width; }
  17. Properties … public class Test { public static void Main() { Rectangle objRectangle = new Rectangle(); objRectangle. Length = 3; objRectangle. Width = 4; objRectangle.CalArea(); Console.WriteLine("{0}", objRectangle. Area ); } }
  18. Indexer  Khi thành phần của lớp là các kiểu tập hợp.  Sử dụng với : new, virtual, override, abstract, extern.  Indexer giống như Property, đuợc truy cập thông qua get và set  Khai báo sử dụng từ khóa this.  Khi sử dụng Indexer ta sử dụng dấu [] cho get và set .
  19. Indexer class IndexerClass { private int [] myArray = new int[100]; public int this [int index] { get { If (index < 0 || index >= 100) return 0; else return myArray[index]; } set { if (!(index < 0 || index >= 100)) myArray[index] = value; } } }
  20. Indexer public class Test { public static void Main() { IndexerClass b = new IndexerClass(); b[3] = 256; b[5] = 1024; for (int i=0; i
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2