This print for content only-size & color not accurate 7" X 9-1/4" / casebound / malloy



Download 21,46 Mb.
Pdf ko'rish
bet322/1830
Sana28.09.2021
Hajmi21,46 Mb.
#188411
1   ...   318   319   320   321   322   323   324   325   ...   1830
Bog'liq
[book] [en] Pro C# 2008 and the NET 3.5 Platform Fourth Edition

// Redundent constructor logic!

public Motorcycle(int intensity)

{

if (intensity > 10)



{

intensity = 10;

}

driverIntensity = intensity;



}

public Motorcycle(int intensity, string name)

{

if (intensity > 10)



{

intensity = 10;

}

driverIntensity = intensity;



driverName = name;

}

...



}

Here (perhaps in an attempt to ensure the safety of the rider), each constructor is ensuring that

the intensity level is never greater than 10. While this is all well and good, we do have redundant

code statements in two constructors. This is less than ideal, as we are now required to update code

in multiple locations if our rules change (for example, if the intensity should not be greater than 5).

One way to improve the current situation is to define a method in the Motorcycle class that will

validate the incoming argument(s). If we were to do so, each constructor could make a call to this

method before making the field assignment(s). While this approach does allow us to isolate the

code we need to update when the business rules change, we are now dealing with the following

redundancy:

C H A P T E R   5  

D E F I N I N G   E N C A P S U L AT E D   C L A S S  T Y P E S



149

8849CH05.qxd  10/22/07  1:34 PM  Page 149




class Motorcycle

{

public int driverIntensity;



public string driverName;

// Constructors.

public Motorcycle() { }

public Motorcycle(int intensity)

{


Download 21,46 Mb.

Do'stlaringiz bilan baham:
1   ...   318   319   320   321   322   323   324   325   ...   1830




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