- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
using System;
public class Man
{
static int num;
public Man parent = new Man(); //У каждого человека есть родители, ведь так?
static Man()
{
num = 0;
}
public Man()
{
num++;
}
}
vistefan 08.02.2012 16:04 # 0
vistefan 08.02.2012 16:24 # +1
Только я не отвечаю, если кто-то захочет вызывать родителей больше одного раза...
3.14159265 08.02.2012 16:32 # +1
> myNum = ++num;
И не в быдловском названии переменной:
>myNum
Дело в том, что дитя порождает родителя.
absolut 08.02.2012 16:51 # +3
Значит надо сделать так:
parent = old Man();
vistefan 08.02.2012 16:53 # +1
Названия переменных вообще в жопу, это ж говнокод.ру
А родители и дети в данном случае - это только тривиальные названия, мы же не имеем дела с наследованием и прочим. К тому же пример абстрактен.
А вообще:
>Говно какое-то.
Я ошибаюсь, или на этом сайте это звучит как похвала? :)
3.14159265 08.02.2012 17:34 # +1
...
>Названия переменных вообще в жопу, это ж говнокод.ру
Давай всё подряд совать в жопу. Это ж Говнокод.ру
vistefan 08.02.2012 17:53 # −1
Согласен, тут перебрал, но нельзя так же и отрицать факт твоей излишней серьёзности.
bugmenot 09.02.2012 19:40 # +1
WAIT! OH, SHI-
roman-kashitsyn 08.02.2012 16:59 # 0
vistefan 08.02.2012 17:00 # 0
В данном контексте действительно тупость
roman-kashitsyn 08.02.2012 17:08 # 0
absolut 08.02.2012 17:25 # −1
то бишь, инициализатор класса.
vistefan 08.02.2012 21:06 # −1
Это далеко не единственная особенность статических конструкторов, так что подобное утверждение почти никак не определяет описываемое понятие.
>инициализатор класса
В корне неправильное представление о статических конструкторах
absolut 08.02.2012 21:19 # 0
vistefan 08.02.2012 17:25 # 0
Статические конструкторы - это конструкторы, имеющие право работать только со статическиеми членами класса. Исполюзуются, например, для установки начальных значений статических переменных, но, в отличие от обыкновенных конструкторов для каждого конкретного класса выполняется только один раз, а именно в момент первого создания экземпляра класса или первого обращения к статическому члену класса (для случаев, например, со static-классами), причем перед выполнением какого-либо другого конструктора, в том числе конструктора по умолчанию. Не может быть перегружен.
roman-kashitsyn 08.02.2012 17:33 # 0
Спасибо, буду знать.
vistefan 08.02.2012 17:53 # 0
3.14159265 08.02.2012 17:27 # 0
static{
...
}
>выполняется при создании первого экземпляра класса.
В жабе при загрузке JVMом класса в память.
http://msdn.microsoft.com/en-en/library/k9x6w0hc(v=vs.90).aspx
>A static constructor is used to initialize any static data, or to perform a particular action that needs to be performed once only. It is called automatically before the first instance is created or any static members are referenced.
Суть та же.
roman-kashitsyn 08.02.2012 17:46 # +7
к директору?
krypt 13.02.2012 13:03 # 0
Тогда уж...
absolut 08.02.2012 16:19 # +14
Lure Of Chaos 08.02.2012 22:08 # 0
eth0 09.02.2012 19:37 # 0
хуита 10.02.2012 08:42 # 0
SmackMyBitchUp 10.02.2012 13:03 # 0
жэсть
absolut 10.02.2012 14:37 # 0
SmackMyBitchUp 11.02.2012 10:16 # 0
guest8 09.04.2019 12:39 # −999
Jaroslav285 25.08.2021 04:00 # 0