1. net framework: общая характеристика, основные компоненты. А
Download 263.94 Kb.
|
Информатика ответы
24) Ссылка this.
Ключевое слово this ссылается на текущий экземпляр класса, а также используется в качестве модификатора первого параметра метода расширения. Ниже перечислены наиболее частые способы использования this. Для квалификации элементов, скрытых одинаковыми именами, например: public Employee(string name, string alias) { // Use this to qualify the fields, name and alias: this.name = name; this.alias = alias; } Для передачи другим методам объекта в качестве параметра, например: CalcTax(this); Для объявления индексаторов, например: public int this[int param] { get { return array[param]; } set { array[param] = value; } } У статических функций-членов нет указателя this, так как они существуют только на уровне класса и не являются частями объектов. Использование ссылки на this в статическом методе является недопустимым. Пример В этом примере this используется для квалификации членов класса Employee, name и alias, которые скрыты одинаковыми именами. Также это ключевое слово используется для передачи объекта в метод CalcTax, который принадлежит к другому классу. class Employee { private string name; private string alias; private decimal salary = 3000.00m; // Constructor: public Employee(string name, string alias) { // Use this to qualify the fields, name and alias: this.name = name; this.alias = alias; } // Printing method: public void printEmployee() { Console.WriteLine("Name: {0}\nAlias: {1}", name, alias); // Passing the object to the CalcTax method by using this: Console.WriteLine("Taxes: {0:C}", Tax.CalcTax(this)); } public decimal Salary { get { return salary; } } } class Tax { public static decimal CalcTax(Employee E) { return 0.08m * E.Salary; } } class MainClass { static void Main() { // Create objects: Employee E1 = new Employee("Mingda Pan", "mpan"); // Display results: E1.printEmployee(); } } /* Output: Name: Mingda Pan Alias: mpan Taxes: $240.00 */ Download 263.94 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling