Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
KSiG
2 / 2 / 0
Регистрация: 27.09.2012
Сообщений: 17
#1

Экземпляр класса: зачем обязательно применять "new" - C#

19.10.2012, 22:08. Просмотров 743. Ответов 4
Метки нет (Все метки)

Приветствую всех.
Читаю книгу "C# 4.0 полное руководство" - Шилдт.
На теме массивы возник небольшой вопрос. Вопросы появлялись и ранее, но через некоторое время понимал что и как делается. А вот когда пришёл к массивам, то немного не понял.
Вот там даётся пример:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Building
{
    public int floors;
    public int area;
    public int occupants;
}
class DemoBuilding
{
    static void Main()
    {
        Building house = new Building();
        int AreaPP;
        house.floors = 2;
        house.area = 2500;
        house.occupants = 4;
    }
}
Вопрос: зачем писать Building house = new Building();
Если по идее мы присваиваем house все значения класса Building...
т.е. можно просто написать house = new Building(); - хотя так нельзя, я знаю. Но почему именно "такой" синтаксис?!

Получается зачем писать название класса перед объектом house - главный вопрос
"На пальцах" объясните, пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2012, 22:08
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Экземпляр класса: зачем обязательно применять "new" (C#):

Зачем нужен абстрактный класс "Линия" для класса "Точка"
надо реализовать иерархию классов точка-> абстрактный класс линия-> 1)прямая...

Создать экземпляр класса и структуры "Кадровое агентство" и проанализировать их работу
Предметная область "Кадровое агентство". Порядок выполнения работы: 1....

Невозможно создать экземпляр абстрактного класса или интерфейса "System.IO.TextWriter"
SaveFileDialog saveFileDialog1 = new SaveFileDialog(); if...

Тип "Склад": "Ссылка на объект не указывает на экземпляр объекта"
#region using using System; using System.IO; #endregion namespace...

Коллекция "Склад", включающий до 20 объектов класса "Товар": нарисовать график статистического учета
Добрый день,уважаемые программисты. Задача: В коллекции «Склада»,...

Как сравнивать и копировать значения полей объектов класса "MyClass" с доступом "private"
Добрый день, уважаемые форумчане! Изучаю .NET по книге Г.Шилдта "Полное...

4
trolol
1 / 1 / 4
Регистрация: 22.01.2012
Сообщений: 56
19.10.2012, 22:12 #2
Вызов класса так происходит
1
Noob.net
Темная сторона .Net
579 / 476 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
19.10.2012, 22:23 #3
Цитата Сообщение от KSiG Посмотреть сообщение
т.е. можно просто написать house = new Building();
Мы указываем тип переменной.Это обязательно.
C#
1
2
3
4
Building house;
house = new Building(); //можно так написать
// или так
object house = new Building();
1
turbanoff
Эксперт Java
4008 / 3743 / 739
Регистрация: 18.05.2010
Сообщений: 9,323
Записей в блоге: 11
Завершенные тесты: 1
20.10.2012, 00:14 #4
Цитата Сообщение от KSiG Посмотреть сообщение
Получается зачем писать название класса перед объектом house - главный вопрос
Этим вопросом задались разрабочики C# довольно давно, и теперь можно писать так:
C#
1
var house = new Building();
0
Noob.net
Темная сторона .Net
579 / 476 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
20.10.2012, 00:26 #5
turbanoff, Да забыл о 3.0 =)
0
20.10.2012, 00:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2012, 00:26
Привет! Вот еще темы с решениями:

XML Request и ошибка "Недопустимая лексема "=" в объявлении класса, структуры или интерфейса"
Пишу отправку xml запроса,компилятор ругается. using System; using...

Ошибка "Недопустимая лексема "{" в объявлении класса, структуры или интерфейса"
Ошибка "Недопустимая лексема "{" в объявлении класса, структуры или...

Описать класс "треугольник" на основе класса "линия"
вот мой код: using System; using System.Collections.Generic; using...

Унаследовать класс "треугольник" от класса "точка"
Как нужно подправить следующий код, чтобы класс треугольник был унаследован от...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru