Понимание динамического ключевого слова памяти Новое

1

Я читал документацию для нового оператора, и он используется для создания новых объектов в куче и вызывать конструкторы. Что означает это определение в непрофессиональном плане, потому что я молодой программист, я был бы признателен, если бы ответы были объяснены в очень простых выражениях или фразах.

Конкретный код строки, который я натолкнулся на новый, приводит пример из интернет-источника, заполняющего aС# tutorial.

var newNumber = new StringBuilder(); 

Итак, я прошу простыми примерами, которые разрушают то, что новый оператор, а также, если вы можете сказать мне, что строка кода тоже будет полезна.

Теги:
new-operator

2 ответа

3

Представьте, что мы говорим о бутербродах. Я люблю субтитры; вам нравятся рулоны. Мы говорим о том, что мы знаем о существовании, но не перед нами. Мы говорим об этих типах бутербродов.

Конечно, после всех этих разговоров мы проголодались и отправились в гастроном. Я говорю, что люблю субтитры и хочу новый экземпляр этого типа сэндвича - я могу держать, видеть и, к счастью, есть.

new действует на тип и возвращает совершенно новый экземпляр этого типа, отличный от всех остальных. Как и мой сэндвич.

1

Он создает новый экземпляр объекта и помещает его в кучу. Выполнение этого также запускает конструктор объекта, который вы можете изменить по своему вкусу. Например, предположим, что у меня есть класс Person, я мог бы создать конструктор:

 public Person(String name)
 {
    // do something with name
 }

Это позволило бы другим классам, реализующим Person, знать, что при создании нового экземпляра из Person они должны указать String в качестве параметра.

Затем они

 var newPerson = new Person("John");

Новое ключевое слово в основном создает конкретный экземпляр "плана", который вы определили в другом месте. Таким образом, в приведенном выше коде newPerson будет фактическим объектом, который основан на проекте в классе "Человек".

С динамикой подразумевается, что вам не нужно делать выделение объектов в куче самостоятельно. Это делегировано, поэтому вам не нужно беспокоиться о том, где в памяти находится ваш фактический объект. (В отличие от некоторых других языков программирования, которые дают вам больше контроля).

Это означает, что в качестве программиста вы не знаете, где найти свой объект, но вам все равно, если вы можете его использовать. :)

  • 0
    Каждый раз, когда другой объект хочет использовать объект человека, они должны создать новый экземпляр этого?
  • 0
    Если это объект, который вы будете использовать несколько раз, вы, конечно, будете хранить его в переменной. Как правило, переменная класса. Если этот объект может использоваться другими объектами, вы делаете эту переменную общедоступной. Это чрезвычайно краткое и простое объяснение. Вы должны начать читать книгу по программированию для правильного понимания!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню