2015-08-15 4 views
-1

Я хочу знать, возможно ли иметь этот параметризованный конструктор.Class Parameterized Constructor в классе

Heres класс пример

class Example 
    public string name; 
    public int age; 

// параметризованных

public Example(string name2, int age2) 
    name = name2; 
    age = age2; 

Форма

Button_Clicked

Example exam1 = new Example (Textbox1.Text, int.Parse(Textbox2.Text)); 

MessageBox.Show("Info" + exam1.Example().ToString()); 

Я хотел разработать параметризованных конструктор, в котором мои объявленные переменные будут захватывать или получать и хранить оба значения текстовых полей.

+0

Что конкретная проблема? Просто добавьте такой конструктор. Конструкторы - это просто методы. –

+0

'exam1.Example(). ToString()' не имеет смысла. В вашем классе 'Example' нет метода' Example() '. –

+0

@VladimirSerykh: Нет, конструкторы не являются «просто методами» - они имеют совершенно другую семантику несколькими способами. –

ответ

0

Это основной материал. Вы могли бы просто использовать его в Google ...

Но поскольку я отвечаю, я дам вам код.

Я хочу создать класс для хранения, допустим ... Полное имя и возраст. Назовем это Person. Конечно, вам нужно будет создать новый класс public class Person { }.

Теперь, в классе, вы должны сделать переменные, которые будете использовать для хранения данных. Соглашение заключается в добавлении подчеркивания перед именами. Я хочу называть их _Age, который является значением Int32 (или просто int) и строковым значением, _Name.

Убедитесь, что переменные установлены в private, потому что вы не хотите, чтобы другие потоки обращались к ним.

Затем вы создадите конструктор. Поскольку мы назвали наш класс Person, и он принимает два параметра, он будет выглядеть примерно так. public Person(string fullName, int age) { }, точно так же, как метод, но вы не даете какого типа.

В потоке public Person() вы должны указать, что нужно делать с полученными вами значениями. В этом случае мы будем хранить их в наших переменных, которые мы сделали ранее (я имею в виду _Age и _Name). Таким образом, вы можете установить значение _Age как параметр age в конструкторе и _Name как параметр fullName.

И тогда вы можете делать все, что хотите, с get и set.

Вот файл класса:

public class Person 
{ 
    private string _Name; 
    private int _Age; 

    public Person(string fullName, int age) 
    { 
     _Name = name; 
     _Age = fullName; 
    } 

    public string Name 
    { 
     get { return _Name; } 
     set { _Name = value; } 
    } 

    public string Age 
    { 
     get { return _Age; } 
     set { _Age = value; } 
    } 
} 
Смежные вопросы