2015-06-03 4 views
0

Если у меня есть класс Pet с методами get для int, double и boolC# вопросы относительно кодирования

это правильно?

public class Pet 
{ 
    private string name; 
    private bool age; 
    public Pet(string name, bool age) 
    { 
    this.name = name; 
    this.age = age; 
    } 
    public string Name 
    { 
    get { return name; } 
    set { name = value; } 
    } 
    public bool Age 
    { 
    get { return age; } 
    set { age = value; } 
    } 
} 

Основной метод

Pet myPet = new Pet ("james", true); 

было бы прекрасно, чтобы поместить верно в объект для BOOL?

+0

Это конструктор класса, а не класс объекта – Tinwor

+0

Непонятно, что вы спрашиваете, get set методы имеют отношение к строке кода? Что вы подразумеваете под «правильным»? – Sayse

+0

На основании редактирования: Да, это правильно. – jparaya

ответ

0

Вам нужен конструктор для него:

public class Pet 
{ 
    public Pet(string type, double price, bool something) 
    { 
    } 
} 
1

No.

Для этого вам придется создать пользовательский конструктор, как:

public class Pet 
{ 
    public string Name { get; set; } 
    public float Weight { get; set; } 
    public bool Alive { get; set; } 

    //defining a custom constructor 
    public Pet(string name, float weight, bool alive) 
    { 
     this.Name = name;  //assign input parameter value to the Property 
     this.Weight = weight; 
     this.Alive = alive; 
    } 
} 
+0

Существует * Первичный конструктор * C# 6.0 в качестве альтернативы ... – xanatos

1

Если ваш класс имеет int, double и bool, то этот конструктор объекта

Pet myPet = new Pet("fish", 20.0, true); 

Не компилировать. Параметр «fish» является строкой, и компилятор не работает (предполагается, что вы устанавливаете значения свойств в конструкторе объектов)

+0

спасибо. поэтому, если это Pet myPet = new Pet (1, 20.0, true); это будет правильно? – user3807187

+0

На первый взгляд, да, но вам нужно проверить код конструктора. Это не прямое назначение свойств, как в сеттерах. Конструктор имеет в себе логику, вам нужно проверить, назначен ли первый параметр свойству int, второй - двойнику и т. Д. Другой вариант - использовать встроенный конструктор: новый Pet {YourStringParameter = "fish", YourDoubleParameter = 20.0, YourBoolParameter = true}; – jparaya

Смежные вопросы