Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
9 / 9 / 0
Регистрация: 27.01.2013
Сообщений: 248

Что происходит при A = this

27.06.2014, 18:47. Показов 1339. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Господа, есть такой вот говнокод
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
class a
{
    public int Value()
    {
        return 45;
    }
}
class b : a
{
    public int ReturnVAl()
    {
        a A = this; // Здесь создается новый объект класса B или что ??
        return A.Value();
    }
}
class c
{
    static void Main()
    {
        Console.WriteLine(new b().ReturnVAl());
    }
}
Когда мы присваиваем переменной a A = this происходит ли создание объекта класса b ?? Или что происходит в данный момент ??
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.06.2014, 18:47
Ответы с готовыми решениями:

Что происходит при создании переменной?
Что происходит при создании какой либо переменной? int x; Выделяется память (даже если переменная не инициализирована)?

При удержании кнопки что-то происходит
Всем привет, мне нужно чтобы при удержании кнопки на клавиатуре происходило какое-то действия, буду благодарен если поможете.

Что происходит в памяти при наследовании?
class Program : Foo { static void Main(string args) { Program example = new Program(); } } class Foo : OutFoo {...

4
 Аватар для Detect
123 / 123 / 72
Регистрация: 11.05.2014
Сообщений: 331
27.06.2014, 18:54
Будет создан объект класса b, ссылка на который будет присвоена переменной А с типом а.
1
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
27.06.2014, 18:58
bazyzy, создаете ссылку на объект типа А и присваиваете ему ссылку на текущий объект (типа В).
Только к чему это надо? Не пойму...

Добавлено через 1 минуту
Цитата Сообщение от bazyzy Посмотреть сообщение
происходит ли создание объекта класса b
Объект класса В уже должен быть создан (иначе вы не вызовете его метод, так ведь?).
1
307 / 284 / 102
Регистрация: 06.05.2014
Сообщений: 861
27.06.2014, 19:01
Новый не создаётся. Присваивается уже созданный.
В данном контексте this - это экземпляр класса b, который ты присваиваешь объекту A имеющий тип базового класса. Объект класса b создается вот в этой строке:
C#
1
Console.WriteLine(new b().ReturnVAl());
именно он и присваивается.
2
 Аватар для MrGladus
178 / 178 / 50
Регистрация: 06.01.2013
Сообщений: 392
27.06.2014, 19:04
Лучший ответ Сообщение было отмечено bazyzy как решение

Решение

C#
1
Console.WriteLine(new b().ReturnVAl());
new b() означает создание екземпляра класса b, который наследует класс а у которого есть публичный метод который возвращает 45.
последовательность такова:
1) new b создает новый екземпляр класса b
2) при вызове ReturnVAl создается локальная переменная А которая является САМИМ КЛАССОМ b, тоесть a A = this означает "возьми ссылку на текущий екземпляр класса b и помести ее в А, потому что this возвращает ссылку на текущий екземпляр, в данном случае это b
3) так как b наследует а то А.Value вернет 45

Добавлено через 2 минуты
Цитата Сообщение от Detect Посмотреть сообщение
Будет создан объект класса b, ссылка на который будет присвоена переменной А с типом а.
a A = this; - в этой строке не будет ничего создано, просто ссылка на текущий екземпляр класса b скопируется в переменную A.
Создастся же все здесь:
new b().ReturnVAl()
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.06.2014, 19:04
Помогаю со студенческими работами здесь

Что происходит при создании объекта?
Button btnU = new Button(); Button (вначале выражения) - что означает? btnU - что означает? = - что означает? new - что...

Что происходит при Array.Sort
помогите описать строчку там два метода т.е. что там происходит Array.Sort(s, (p1, p) => p1.Mark.CompareTo(p.Mark));//метод...

Что происходит в памяти при объявлении переменной
Простите за глупый вопрос, но он меня все же терзает))) Что происходит в памяти при объявлении переменной ( но без инициализации)....

Что происходит с переменной при операциях типа x = x++
Подскажите пожалуйста, что происходит с точки зрения памяти при выполнении следующей операции: X+=X++ и просто X=X++?

Отслеживание клика мыши, и того что происходит при клике
Всем привет),помогите:cry:.Такая запара,надо отслеживать клик левой кнопки мыши,и если при клике что-то произошло (например, открылся...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru