Loading...
simeon.georgiev avatar simeon.georgiev 62 Точки

[Homework] OOP - Defining classes - 2 задача

Привет, колеги! Имам следния проблем: направил съм двата класа, Laptop и Battery. Всичко работи много добре, освен големия ми проблем- как да вкарам Input за батерията? Ако пробвам със стринг- веднага скача проблем "Can not convert from string to Battery". Ето линк към решението ми. Извинявам се за ужасния миш-маш стил- четох от много места и пробвах, но нищо не сработи.

Тагове:
0
C# OOP Basics
mihayloff14 avatar mihayloff14 824 Точки
Best Answer

За да инициализираш обект от тип Battery, трябва да използваш един от конструкторите му.

В твоя случай, когато правиш нов лаптоп, инициализацията би следвало да е:

Laptop laptop = new Laptop(some, random, inputs... , new Battery(type, price));

Ако искаш инициализацията да бъде само от примитивни данни (string, int, etc.), тогава трябва да промениш конструктора на Laptop класа си.

Example:

public Laptop(string some, string inputs, etc..., string batteryType, int batteryPrice) 

{
    ...
    ...
    this.battery = new Battery(batteryType, batteryPrice);
}

1
19/01/2015 18:35:27
simeon.georgiev avatar simeon.georgiev 62 Точки

Благодаря, Това е обновеният вариант, който вече работи. Поради някаква причина обаче, вместо да ми излязат пропъртитата на батерията, ми излиза Battery обект?

1
RoYaL avatar RoYaL Trainer 6849 Точки

Батерията ти няма ToString() ?

0
velio84 avatar velio84 241 Точки

трябва да override-неш tostring метода на класа Battery и би трябвало да стане. Не мога да го тествам в момента от телефона :)

1
Filkolev avatar Filkolev 4482 Точки

Да попитам в такъв случай - трябва ли на самия клас Battery да правя override за ToString()?

Аз си вадя нужната информация и я форматирам в ToString() за класа Laptop, никъде не предвиждам батерията да може сама да бъде принтирана.

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.