5 / 5 / 1
Регистрация: 25.03.2016
Сообщений: 106

Объекты и экземпляры классов

10.01.2017, 19:28. Показов 1403. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, я читаю книгу "Изучаем C#" 3-e издание, Эндрю Стиллмена и Дженнифер Грина, так же посмотрел много видео уроков по этой теме, но не могу понять, что происходит когда создаешь объект например:
C#
1
Class class = new Class();
понимаю только то, что "class" это ссылка на обьект Class. Знаю что так можно вызывать метод или свойство и т.д. через class."название"
Так же не могу понять нисходящие приведение, восходящее приведение. Не могу понять, для чего оператор "as".
Еще не могу понять такой код:
C#
1
2
Class class = new Class();
Class2 class2 = class;
Так же не могу понять когда передают в параметр класс или объект.
Подскажите пожалуйста как это работает или скиньте подробную информацию на эту тему.

Добавлено через 23 минуты
...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.01.2017, 19:28
Ответы с готовыми решениями:

Объекты и экземпляры абстрактных классов
Здравствуйте, помогите, пожалуйста, разобраться: Суть в чем - экземпляры абстрактных классов создать нельзя(прописано во всех книгах)....

Работа с указателями на экземпляры классов
чтото не пойму. Я могу както создать указатель, который указывал бы ка экземпляр класса (а не структуры) ? т.е. так: class Program...

Поместить экземпляры разных классов в один массив
Не пойму немного, это через List делается или иначе? Необходимо для дальнейшей сортировки и ограниченного вывода using System; using...

2
Нарушитель
 Аватар для petrolium
99 / 33 / 10
Регистрация: 05.10.2013
Сообщений: 154
Записей в блоге: 1
10.01.2017, 20:18
"class" это cсозданный с помощью NEW новый объект в памяти из "чертежей по созданию объектов", описанных в Class().
Class2 class2 = class; - переменной class2, типа Class2, присвоили ссылку на объект class, который создали выше.

Добавлено через 7 минут
Class class - > Class это тип, сlass это переменная.
Class class как гоночный автомобиль
тип - гончный, класс - автомобиль.

Class2 class2 как внедорожный автомобиль.
Class2 class2 = class;
берем гоночный автомобиль class и делаем его внедорожным class2 , если получится

Добавлено через 8 минут
Объекты и экземпляры это одно и то же
1
307 / 284 / 102
Регистрация: 06.05.2014
Сообщений: 861
11.01.2017, 11:24
DeadlySin, если переименовать переменную вот так:
C#
1
Class obj = new Class();
то, имхо, станет немного легче разделять понятия класса и объекта.
Для начала определи для себя разницу между Классом, он же Тип, и Объектом какого либо класса (типа). Класс - это описание сущности. Объект - это сама сущность.
Оператор new выделяет в памяти область, где будет хранится данные для объекта obj. Объект obj будет иметь тип Class. Тип описывает его поведение, определяющее свойствами (данные) и методами (действия). Обращаясь к obj, ты можешь посмотреть/изменить хранящиеся в объекте данные (обращение к свойствам) или же произвести какие-либо действия (вызов методов).

C#
1
2
Class obj = new Class();
Class2 obj2 = obj;
Здесь вся "магия" в наследовании рус. Не думаю, что прямо сейчас тебе стоит углубляться в это, возможно немного погодя, после освоения материала до.

as рус - это оператор приведения типа. Также не считаю эту информацию важной для тебя в данный момент.

Цитата Сообщение от DeadlySin Посмотреть сообщение
Так же не могу понять когда передают в параметр класс или объект.
Передают всегда объект. Передавать в параметры метода какой-либо объект можно только во время вызова этого самого метода. В месте объявления и описания метода, в параметрах указывают тип этих самых параметров. Не путай объявление и вызов метода.

Цитата Сообщение от DeadlySin Посмотреть сообщение
нисходящие приведение, восходящее приведение
Здесь также всё дело в наследовании. Если коротко, то:
C#
1
2
3
Class obj = new Class();
Class2 obj2 = obj; // восходящее приведение
Class obj3 = (Class)obj2; // нисходящее приведение
P.S. Не знаю, на сколько важно тебе сейчас читать о наследовании, поскольку у меня сложилось впечатление, что ты не до конца понимаешь суть классов и объектов. Извини, за прямоту.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.01.2017, 11:24
Помогаю со студенческими работами здесь

Как случайным образом вывести экземпляры двух классов?
Выходит ошибка о том что класс не может конвертироваться в инт public void StartRun(Driver driver) { Random...

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

Объекты разных классов в массиве
Добрый день. Столкнулся с некоторыми проблемами. Есть два класса у которых один предок. Мне нужно загрузить их в один массив. Как это...

Объекты иерархии классов в массив
Дана иерархия классов и нужно создать массив объектов этих классов, и вывести их с помощью foreach. Помогите советом.

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


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

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

Новые блоги и статьи
Непрерывная интеграция для пакета Python
Mr. Docker 22.06.2025
Было 4 часа утра пятницы, когда я выпустил новую версию нашей внутренней библиотеки для обработки данных. Релиз 0. 5. 2 содержал небольшой фикс для обработки дат в ISO формате, что может пойти не так?. . .
Продвинутый ETL на C# из OLTP БД в хранилище
stackOverflow 22.06.2025
Работая в сфере корпоративной аналитики, я постоянно сталкиваюсь с одним и тем же - нужны чистые, структурированные и, главное, свежие данные. Без них современные аналитические системы, машинное. . .
Мастер-класс по микросервисам на Node.js
Reangularity 21.06.2025
Node. js стал одной из самых популярных платформ для микросервисной архитектуры не случайно. Его неблокирующая однопоточная модель и событийно-ориентированный подход делают его идеальным для. . .
Управление Arduino из WPF приложения
Wired 21.06.2025
Зачем вообще связывать Arduino с WPF-приложением? Казалось бы, у Arduino есть собственная среда разработки, своя экосистема, свои способы управления. Однако при создании серьезных проектов. . .
Звёздная пыль
kumehtar 20.06.2025
Я просто это себе представляю: как создавался этот мир. Как энергия слипалась в маленькие частички. Как они собирались в первые звёзды, как во вселенной впервые появился Свет. Как эти звёзды. . .
Создание нейросети с PyTorch
AI_Generated 19.06.2025
Ключевое преимущество PyTorch — его питоновская натура. В отличие от TensorFlow, который изначально был построен как статический вычислительный граф, PyTorch предлагает динамический подход. Это. . .
JWT аутентификация в ASP.NET Core
UnmanagedCoder 18.06.2025
Разрабатывая веб-приложения, я постоянно сталкиваюсь с дилеммой: как обеспечить надежную аутентификацию пользователей без ущерба для производительности и масштабируемости? Классические подходы на. . .
Краткий курс по С#
aaLeXAA 18.06.2025
Здесь вы найдете все необходимые функции чтоб написать програму на C# Задание 1: КЛАСС FORM 1 public partial class Form1 : Form { Spisok listin = new Spisok(); . . .
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru