C#

Jan. 26th, 2003 07:24 pm
109: (Default)
[personal profile] 109
* crossposted from ru_hitech

An abstract method is implicitly a virtual method

ну и почему же? а если я хочу объявить в базовом классе статическую функцию, но возложить её имплементацию на наследника?

да, я знаю, что в С++ то же самое, но это не извиняет.

(no subject)

Date: 2003-01-27 08:02 am (UTC)
From: [identity profile] shq.livejournal.com
Дык как ты ее вызывать будешь? Или в C# стат. функции вызываются по указателю на экземпляр?

(no subject)

Date: 2003-01-27 08:31 am (UTC)
From: [identity profile] 109.livejournal.com
abstract class MyBaseClass : Whatever {
abstract static string GetMyString();
static void anotherFunc() {
string myString = GetMyString();
}
}

class MyDerivedClass : MyBaseClass {
static string GetMyString() {
return "Bla-Bla";
}
static YetAnotherFunc() {
anotherFunc();
}
}

(no subject)

Date: 2003-01-27 12:15 pm (UTC)
From: [identity profile] shq.livejournal.com
А, точно :) А зачем тебе это может быть нужно? Просто интересно.

Re:

Date: 2003-01-27 12:41 pm (UTC)
From: [identity profile] 109.livejournal.com
Creational patterns. Consumer не знает, есть ли уже готовый инстанс нужного ему класса, или нет. А создавать каждый раз - дорого (в базу лезть надо неоднократно). Поэтому consumer зовёт GetInstance("я - Вася Пупкин") того класса, которого хочет. GetInstance() статическая, разумеется. И так восемь раз (с). В смысле, для восьми разных классов. А код во всех GetInstance() одинаковый, за исключением маленькой малости. И вот хочется его написать один раз в базовом классе, а маленькую малость объявить абстрактной функцией и имплементить в потомках.

Re:

Date: 2003-01-27 12:30 pm (UTC)
From: [identity profile] 109.livejournal.com
а что это?
документ большой, и читать его нет никакой мочи.

(no subject)

Date: 2003-01-27 12:51 pm (UTC)
From: [identity profile] shq.livejournal.com
Если поискать на "static virtual", попадаются аргументы за и против этого самого static virtual. Я просто хотел найти, почему s.v. нет в c++.

(no subject)

Date: 2003-01-28 01:24 am (UTC)
From: [identity profile] silpol.livejournal.com
for your convinience - есть такое комьюнити [livejournal.com profile] ru_programming, пожалуйста, кросспостите туда, а не в [livejournal.com profile] ru_hitech... формальная логика моего предложения такова, что все интересующиеся чистым программингом тусуются именно там, значит там и место "рафинированным дискуссиям" по программированию...

p.s. это конечно, только предложение (в смысле offer)

Profile

109: (Default)
109

March 2019

S M T W T F S
     12
3456789
101112131415 16
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags