C# для начинающих Пахомов Б. И



Download 8,15 Mb.
Pdf ko'rish
bet92/266
Sana20.04.2022
Hajmi8,15 Mb.
#567200
1   ...   88   89   90   91   92   93   94   95   ...   266
Bog'liq
C# for beginners


Глава 8. Введение в классы 
145 
Рис. 8.1. 
Значения полей объекта после работы первого конструктора и метода 
М1()
Рис. 8.2. 
Значения полей объекта после работы второго конструктора и метода 
М1()


146 
Часть II. Объектно-ориентированное программирование 
но без параметров. То есть, когда вы создаете экземпляр класса (или 
объект, что то же самое), вы должны написать, например, 
MyCar car = new MyCar(); 
В этом случае полям класса будут присвоены значения, принятые в язы-
ке по умолчанию. Если же вам не подходят значения по умолчанию, то 
вы сами можете создать свой конструктор по умолчанию (т. е. без пара-
метров), задав в его теле свои, нужные вам, значения полей класса. На-
пример, для нашего случая можно было бы задать такой конструктор по 
умолчанию: 
public MyCar() 

name="Лада"; 
speed=120; 
owner_name="Иванов"; 

В нашем примере в классе определены два конструктора. У них разное 
количество параметров, но типы параметров одинаковы. Но может быть 
и так, что один конструктор от другого отличается не только количест-
вом параметров, но и их типами. Определение методов с одним и тем же 
именем, но с разным количеством и типом параметров называют 
пере-
грузкой
метода
. Таким образом, класс 
MyCar
имеет перегруженный кон-
структор, чтобы предоставить более одного способа создания из этого 
класса объекта. 
Ключевое слово 
this
В переменной с этим именем хранится адрес текущего объекта, т. е. 
объекта, с которым в данном месте программы происходит работа. Этот 
элемент введен в язык для разрешения неоднозначных ситуаций, когда, 
например, вы в конструкторе назвали параметр таким же именем, как 
поле. Формально компилятор пропустит этот вариант, но при выполне-
нии программы можно получить не тот результат. Чтобы в таких случа-
ях различать, какая переменная к чему относится при одинаковых име-
нах, и введено это ключевое слово. Например, в случае нашего примера 
мы могли бы определить заголовок конструктора как 
public MyCar(string name, int Speed, string Owner_name) 
Здесь первый параметр по имени совпадает с именем поля класса. По-
этому в теле конструктора мы вынуждены записать строку 


Download 8,15 Mb.

Do'stlaringiz bilan baham:
1   ...   88   89   90   91   92   93   94   95   ...   266




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish