Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Классы 
:(
    Опции темы
Gorcer
Дата 26.10.2006, 04:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 275
Регистрация: 30.6.2004
Где: Владивосток

Репутация: нет
Всего: 4



Как наследовать классы мои классы в других классах??? Пишу на С#


--------------------
Больнее всего получить удар от человека которому доверяешь.

<удалено администрацией>
PM MAIL WWW ICQ Skype   Вверх
Fedia
Дата 26.10.2006, 06:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 465
Регистрация: 2.8.2006
Где: первым встречаю р ассвет

Репутация: нет
Всего: 13



Предок указывается через двоеточие:
Код

    class Population
    {
        private static int FPopulationCount = 138000000;

        public static int PopulationCount
        {
            get {return FPopulationCount;}
            set {FPopulationCount = value;}
        }
    }

    class CountryPopulation: Population
    {
        public readonly string CountryName = "Russia";
    }

используем: 
Код

Console.WriteLine(CountryPopulation.PopulationCount);



--------------------
Накануне решающей битвы
Я иду, и надеждою зыбкой
Озаряется эта дорога,
Я мечтаю увидеть улыбку
На лице победившего Бога…
PM MAIL ICQ   Вверх
Gorcer
Дата 26.10.2006, 07:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 275
Регистрация: 30.6.2004
Где: Владивосток

Репутация: нет
Всего: 4



зачем так грубо что через дваеточие я знаю но тогда в крите класса он пишет что нехватает аргументя


--------------------
Больнее всего получить удар от человека которому доверяешь.

<удалено администрацией>
PM MAIL WWW ICQ Skype   Вверх
ivashkanet
Дата 26.10.2006, 07:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Gorcer, какой вопрос ---- такой и ответ  smile 
Давай код который не работает, либо объясни попонятнее 

Цитата(Gorcer @  26.10.2006,  07:35 Найти цитируемый пост)
тогда в крите класса он пишет что нехватает аргументя

Что такое "крит"? Какого такого аргумента?
PM MAIL WWW ICQ   Вверх
Gorcer
Дата 26.10.2006, 07:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 275
Регистрация: 30.6.2004
Где: Владивосток

Репутация: нет
Всего: 4



Код

 class TConstrManedjer
                {
                    public ArrayList ObjectList;
                    public TConstraction MainConstr;
                    public TConstrManedjer()
                            {
                               MainConstr = new TConstraction(50, 20, 300, 500);
                            }
                }
          class TObjectConstr 
                {
                    public TConstrManedjer ConstrManedjer;
                    public TObjectConstr(TConstrManedjer ConstrManedjer)
                        {
                            ConstrManedjer.ObjectList.Add(this); 
                            
                        }
                }
        class TInfill : TObjectConstr    //Ошибку выдает вот здесь 
        {
            public TConstraction ParentConstraction;
            public Point[] maspoints = new Point[4]; // координаты инфила
            public int Fat;
            public Boolean Selected;
            public  TInfill (TConstraction parent)
            {
                
                ParentConstraction = parent;
                
                Fat = 28;
                Selected = false;
            }
           
        }



Error    1    No overload for method 'TObjectConstr' takes '0' arguments
 Крит это конструктор класса (я раньше на дельфе программировал.... там так это метод называется)


--------------------
Больнее всего получить удар от человека которому доверяешь.

<удалено администрацией>
PM MAIL WWW ICQ Skype   Вверх
ivashkanet
Дата 26.10.2006, 08:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Gorcer, при создании наследника предварительно нужно инициализировать все поля, которые принадлежат родителю. 
По умолчанию вызывается конструктор родителя без параметров (а у тя его нет), поэтому конструктор наследника должен выглядеть так:

Код

public  TInfill (TConstraction parent) : base(new TConstrManedjer()) 
            {
                
                ParentConstraction = parent;
                
                Fat = 28;
                Selected = false;
            }


base(new TConstrManedjer())  --- вызывает конструктор родителя.

P.S. Ну и логика у тебя  smile 
Обычно наследник и базовый класс имеют похожие конструкторы. Ведь наследник --- не что иное как расширение логики родителя. 
Тогда пишут: public  TInfill (TConstraction parent) : base(TConstraction parent)  это логично.
P.P.S Gorcer, слишком много ошибок в английских словах
PM MAIL WWW ICQ   Вверх
Gorcer
Дата 26.10.2006, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 275
Регистрация: 30.6.2004
Где: Владивосток

Репутация: нет
Всего: 4



Спасибо smile Ну английский здесь не важен...


--------------------
Больнее всего получить удар от человека которому доверяешь.

<удалено администрацией>
PM MAIL WWW ICQ Skype   Вверх
Exception
Дата 26.10.2006, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Ага, верно. И стиль у тебя, кстати, хромает. С Дельфи небось перешёл? Во-первых, имена классов в С# обычно пишут без префикса (в данном случае, без T). Ну и собственно, обычно используют английские идентификаторы (там Manager), а не какой-то транслит (а ля Manadjer). Вот так вот. Ибо стиль - это главное для понимания программы (и её доработки / дебуга / модификации). Аминь.
PM   Вверх
mr.DUDA
Дата 26.10.2006, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Exception, offtopic !
стиль к вопросу прямого отношения не имеет, человек пишет как ему удобнее



--------------------
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0785 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.