Witam,
Posiadam kod który otrzymaliśmy na studiach na zadanie domowe. Po przerobieniu wygląda tak.
using System;
using System.Text;
enum Alphabets { Latin, Greek, Cyrillic };
abstract class Numbers{
}
abstract class Factory {
public abstract Numbers CreateNumbers();
public static Factory chooseFactory(Alphabets alphabet) {
switch (alphabet) {
case Alphabets.Cyrillic:
return new CyrillicFactory();
default:
throw new NotImplementedException();
}
}
}
class LatinFactory : Factory {
public override Letters CreateLetters() {
return new LatinaLetters();
}
//
//
}
abstract class Letters {
public abstract string GetLetters();
}
// ...
// ...
// ...
class CyrillicNumbers : Numbers {
public override string GetNumbers(){
return "1 2 3";
}
}
public class Application{
public static void Main(String[] args){
Factory latinAlphabetFactory = Factory.chooseFactory(Alphabets.Latin);
}
}
Niestety wyrzuca mi kilka błędów takich jak te:
Main.cs(42,25): error CS0246: The type or namespace name 'Numbers' could not be found (are you missing a using directive or an assembly reference?)
Main.cs(10,19): error CS0246: The type or namespace name 'Numbers' could not be found (are you missing a using directive or an assembly reference?)
Main.cs(43,26): error CS0115: 'CyrillicNumbers.GetNumbers()': no suitable method found to override
Main.cs(24,27): error CS0115: 'LatinFactory.CreateLetters()': no suitable method found to override
Main.cs(23,7): error CS0534: 'LatinFactory' does not implement inherited abstract member 'Factory.CreateNumbers()'
Nie za bardzo wiem jak mógłbym je naprawić. Jakieś pomysły??