11-mavzu: System.Object asosiy tayanch sinfidan hosilaviy sinflarni yaratish.
Reja:
1. System.Object sinfi va uning usullari
2. Umumlashtirish
3. Umumlashganlarning cheklovlari
4. Umumiy turdagi meros
1. System.Object sinfi va uning usullari
.NET dagi boshqa barcha sinflar, hatto biz o'zimiz yaratadigan sinflar, shuningdek, System.Int32 kabi asosiy turlar bilvosita Object sinfidan olingan. Agar biz Object sinfini asosiy sinf sifatida belgilamasak ham, boshlang`ich holat bo`yicha bilvosita bo`ladi. Object sinfi hali ham meros ierarxiyasining yuqori qismida joylashgan. Shuning uchun barcha turlar va sinflar System.Object sinfida aniqlangan usullarni amalga oshirishi mumkin. Keling, ushbu usullarni ko'rib chiqaylik.
ToString
ToString usuli bu obyektning satr tasvirini olish uchun ishlatiladi. Asosiy turlar uchun ularning satr qiymati shunchaki ko'rsatiladi:
int i = 5;
Console.WriteLine(i.ToString()); // 5 raqamini chop etadi
double d = 3.5;
Console.WriteLine(d.ToString()); // 3.5 raqamini chop etadi
Sinflar uchun bu usul sinfning to'liq nomini ko'rsatadi, bu sinf aniqlangan nomlar maydonini ko'rsatadi. Va biz bu usulni bekor qilishimiz mumkin. Keling, bir misolni ko'rib chiqaylik:
using System;
namespace FirstApp
{
class Program
{
private static void Main(string[] args)
{
Person person = new Person { Name = "Tom" };
Console.WriteLine(person.ToString()); // Person sinfining nomini chop etadi
Clock clock = new Clock { Hours = 15, Minutes = 34, Seconds = 53 };
Console.WriteLine(clock.ToString());15:34:53ni chop etadi
Console.Read();
}
}
class Clock
{
public int Hours { get; set; }
public int Minutes { get; set; }
public int Seconds { get; set; }
public override string ToString()
{
return $"{Hours}:{Minutes}:{Seconds}";
}
}
class Person
{
public string Name { get; set; }
}
}
Do'stlaringiz bilan baham: |