16 / 16 / 0
Регистрация: 17.12.2010
Сообщений: 40
|
|||||||
1 | |||||||
Добавить в приложение виртуальный метод07.04.2011, 17:58. Показов 3385. Ответов 8
Метки нет (Все метки)
Код
using System; using System.IO; namespace Test { class File { protected string name;// поле имя файла protected DateTime creationTime;// поле дата создания protected long length;// поле размер файла public string Name// свойство для получения имени { get { return name; } } public DateTime CreationTime// свойство для получения даты создания { get { return creationTime; } } public long Length// свойство для получения размера { get { return length; } } public File(string fName)// конструктор { if (fName != null)// проверка корректности аргументов конструктора { if (System.IO.File.Exists(fName))// если такой файл уже есть { FileInfo temp = new FileInfo(fName); name = temp.Name; creationTime = temp.CreationTime; length = temp.Length; } else// если файл не найден, создаем его { Console.WriteLine("File not found, so it will be created . ."); StreamWriter t = new StreamWriter(System.IO.File.Create(fName)); FileInfo temp = new FileInfo(fName); name = temp.Name; creationTime = temp.CreationTime; length = temp.Length; t.Close(); } } else// если аргументы конструктора некорректны, бросаем исключение throw new IOException("Error input data . ."); } public override string ToString()// переопределяем ToString для вывода информации о файле { return String.Format("File name: {0}\nFile creation time: {1}\nFile length: {2} bytes\n", name, creationTime, length); } } sealed class TextFile : File { private string data; public TextFile(string fName) : base(fName) { data = null; } public void AddText(string text) { data = text; using (StreamWriter writer = new StreamWriter(System.IO.File.Open(name, FileMode.Append))) { writer.WriteLine(data); } } public string GetLastAddedData() { if (data != null) { return data; } return "No data were added in this session . ."; } public override string ToString()// переопределяем ToString для вывода информации о файле { return String.Format("File name: {0}\nFile creation time: {1}\nFile recently added text: {2}\nFile length: {3} bytes", name, creationTime, this.GetLastAddedData(), length); } } class Program { static void Main() { Console.WriteLine("Fun with File class testing . .\n");//тестируем класс try { Test.File f = new Test.File("first.dat"); Console.WriteLine(f.ToString()); Test.TextFile s = new Test.TextFile("second.txt"); s.AddText("Some more text . ."); Console.WriteLine(s.ToString()); } catch (Exception e) { Console.WriteLine(e.Message); } Console.ReadLine(); } } }
0
|
07.04.2011, 17:58 | |
Ответы с готовыми решениями:
8
Добавить к классу TPoint1 виртуальный метод Draw(Canvas:TCanvas), который будет выводить изображение точки Виртуальный метод Виртуальный метод Нужно добавить виртуальный класс |
Автор FAQ
1802 / 614 / 37
Регистрация: 22.12.2009
Сообщений: 1,544
|
|
07.04.2011, 22:00 | 2 |
1
|
16 / 16 / 0
Регистрация: 17.12.2010
Сообщений: 40
|
|
13.04.2011, 19:10 [ТС] | 3 |
если бы я знал,, знаю что там присутствует слово virtual
0
|
Автор FAQ
1802 / 614 / 37
Регистрация: 22.12.2009
Сообщений: 1,544
|
|
13.04.2011, 21:32 | 4 |
0
|
начал понимать msdn
57 / 57 / 6
Регистрация: 11.03.2010
Сообщений: 232
|
|
13.04.2011, 21:42 | 5 |
Может в паралельный поток?
0
|
16 / 16 / 0
Регистрация: 17.12.2010
Сообщений: 40
|
|
15.04.2011, 19:00 [ТС] | 6 |
нет.нужен именно виртуальный метод..
0
|
24 / 23 / 5
Регистрация: 14.04.2010
Сообщений: 41
|
|||||||||||
16.04.2011, 12:00 | 7 | ||||||||||
Переопределять нужно такой метод, который есть у всех типов файлов, но реализация разная.
Например, в классе File можно объявить метод
0
|
Leax
|
16.04.2011, 13:29
#8
|
Не по теме: будильники, а зачем ты себе репутацию искусственно накрутил с помощью "Мария Смайл"? :D
0
|
16 / 16 / 0
Регистрация: 17.12.2010
Сообщений: 40
|
|
16.04.2011, 19:03 [ТС] | 9 |
Leax.. как будто это я сам себе ставлю... мне эта репутация на (3 веселых буквы) не нужна. понял????
Добавлено через 24 секунды AstroNom спасибо!!!
0
|
16.04.2011, 19:03 | |
16.04.2011, 19:03 | |
Помогаю со студенческими работами здесь
9
Указатель на виртуальный метод Итератор и виртуальный метод Из абстрактного в виртуальный метод Виртуальный метод класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |