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

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

Đ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

Lập trình Windows với Microsoft® NET Giảng viên : Hồ Hoàn Kiếm Overloading Methods  Áp dụng cho toán tử : 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; } } 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); } Kiểu Structs  Kiểu liệu người dùng định nghĩa  Có thể định nghĩa phương thức  Có thể định nghĩa Constructors  Structs kiểu tham trị  Structs không kế thừa 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; } } 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(); } Kiểu Enumrator  Tập hợp số đặt tên enum Days { //mac dinh Phan tu dau tien bat tu Sat, Sun, Mon, Tue, Wed, Thu, Fri }; 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 : Sun = : Value : Sun Fri = : Value : Fri Properties  Sử dụng để truy cập thành phần Private  Kiềm tra liệu cho thành phần lớp public class Square { public double mSide; } public class Test { static void Main() { Square obj = new Square (); obj mSide = 3; } } Properties … public class Square { //Khi báo thành phần private double mSide; // Khai báo property public double Side { get { }; set { }; } // Khai báo phương thức } Properties …  Property giống field, việc truy cập đươc thực qua thao tác get set public int Side { get { return mSide; } set { if (mSide < 0) return ; } } mSide = value; 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; } Properties … public int Length { get { return m_Length; } set { if(m_Length < ) return; m_length = value; } } Properties … public int Width { get { return m_Width; } set { // Đọan mã kiểm tra giá trị … m_Width = value; } } Properties … public int Area { get { return m_Area; } } public void CalArea() { m_Area = m_Length*m_Width; } 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 ); } } Indexer  Khi thành phần lớp kiểu tập hợp  Sử dụng với : new, virtual, override, abstract, extern  Indexer giống Property, đuợc truy cập thông qua get set  Khai báo sử dụng từ khóa this  Khi sử dụng Indexer ta sử dụng dấu [] cho get set Indexer class IndexerClass { private int [] myArray = new int[100]; public int this [int index] { get { If (index < || index >= 100) return 0; else return myArray[index]; } set { if (!(index < || index >= 100)) myArray[index] = value; } } } Indexer public class Test { public static void Main() { IndexerClass b = new IndexerClass(); b[3] = 256; b[5] = 1024; for (int i=0; i

Ngày đăng: 24/10/2023, 19:02

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

Tài liệu liên quan