:Bir uygulama sınıfını kendi türünde bir nesneyi döndürmeye zorlayabilir miyim?
public interface IParser {
IParser Parse(string s);
}
public class Parser : IParser {
public Parser Parse(string s) {
return new Parser(s);
}
}
Ben kendi türünde bir nesne döndürmek için bir uygulama sınıfıyla zorlayabilir miyim? Mümkünse nasıl olur? Yoksa buradaki cevap jenerik midir?
Not: kod sadece bir illüstrasyon, değil çalıştırmak gerekiyordu şeydir.
Beni çok meraklı yaptık ... Eğer yaptıkları kaderimiz değil bir şey için arayüzleri kullanmaya çalışıyorsanız düşünüyorsun? Genel olarak, bir arabirimi tanımlama noktası, müşteri kodunun, belirli bir API'nin, o nesnenin somut tipini bilmeden veya bakımını yapmak zorunda kalmadan bir nesne üzerinde tanımlandığına güvenebileceği şekildedir. Bu, OOP'un en güçlü yanlarından biri. Bunu yaparak, yapmaya çalıştığınız şey nedir? –
Eh, benim düşünce bu arayüze sahip olarak her zaman arabirimini uygulayan sınıflar bu yöntemi olacağı ve her zaman kendi türünü döneceğini inanabileceğimi oldu. Ama dediğiniz gibi, bu en iyi OO tasarımı olmayabilir ve bunun yerine arabirim türünü döndüren bir yöntem için onu terk edeceğim. – Cros