Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
16 / 16 / 0
Регистрация: 17.12.2010
Сообщений: 40

Добавить наследование и индивидуальные методы

15.03.2011, 12:08. Показов 1355. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
сделайте пожалуйста наследование и индивидуальные мктоды\)))))) а то не получаеться..

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
using System;
using System.IO;
 
namespace Test
{
    class File
    {
        private string name;// поле имя файла
        private DateTime creationTime;// поле дата создания
        private long length;// поле размер файла
        private string userInfo;// поле пользовательская информация о файле
        public string Name// свойство для получения имени
        {
            get { return name; }
        }
        public DateTime CreationTime// свойство для получения даты создания
        {
            get { return creationTime; }
        }
        public long Length// свойство для получения размера
        {
            get { return length; }
        }
        public string UserInfo//свойство для получения или задания пользовательской информации
        {
            get { return userInfo; }
            set { userInfo = value; }
        }
        public File(string fName, string userInf)// конструктор
        {
            if (fName != null && userInf != null)// проверка корректности аргументов конструктора
            {
                if (System.IO.File.Exists(fName))// если такой файл уже есть
                {
                    FileInfo temp = new FileInfo(fName);
                    name = temp.Name;
                    creationTime = temp.CreationTime;
                    length = temp.Length;
                    userInfo = userInf;
                }
                else// если файл не найден, создаем его
                {
                    Console.WriteLine("File not found, so it will be created . .");
                    System.IO.File.Create(fName);
                    FileInfo temp = new FileInfo(fName);
                    name = temp.Name;
                    creationTime = temp.CreationTime;
                    length = temp.Length;
                    userInfo = userInf;
                }
            }
            else// если аргументы конструктора некорректны, бросаем исключение
                throw new IOException("Error input data . .");
        }
        public void AddUserInfo(string info)// метод позволяет добавить пользовательскую информацию
        {
            userInfo += ("\n" + info);
        }
        public override string ToString()// переопределяем ToString для вывода информации о файле 
        {
            return String.Format("File name: {0}\nFile creation time: {1}\nFile length: {2} bytes \nInfo: {3}\n",
                name, creationTime, length, userInfo);
        }
    }
    class Program
    {
        static void Main()
        {
            Console.WriteLine("Fun with File class testing . .\n");//тестируем класс
            try
            {
                Test.File f = new Test.File("first.txt", "It's a first test file");
                f.AddUserInfo("It' additional info for first file!");// тестируем метод добавления информации
                Console.WriteLine(f.ToString());// тестируем ToString
                Test.File s = new Test.File("second.txt", "It's a second test file");
                s.UserInfo = "Changed user info!";
                Console.Write("{0} ; {1} ; {2} \n {3}", s.Name, s.CreationTime, s.Length, s.UserInfo);// тестируем свойства
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            Console.ReadLine();
        }
    }
}
 Комментарий модератора 
будильники, у тебя ENTER залипает?
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.03.2011, 12:08
Ответы с готовыми решениями:

Как для юзера получить индивидуальные данные из базы
Есть база из которой для каждого зарегистрированного пользователя MembershipAPI необходимо...

Как создать вспомогательный массив C и вывести в него только ИНДИВИДУАЛЬНЫЕ элементы первых двух массивов?
namespace ConsoleApplication2 { class proba { static void Main() { ...

Найти заказчиков, которые размещали индивидуальные заказы на сумму свыше $10 000
Кто может помочь? Напишите запрос к файлу NorthwindCustomerOrders.xml,для нахождения...

7
 Аватар для servitola
60 / 60 / 6
Регистрация: 07.09.2010
Сообщений: 259
15.03.2011, 12:14
будильники, что должно наследоваться? наследоваться от твоего класса File?
0
16 / 16 / 0
Регистрация: 17.12.2010
Сообщений: 40
15.03.2011, 18:53  [ТС]
да надо сделать наследование класа file
1
Шаровик затейник
 Аватар для Crudelis
696 / 445 / 78
Регистрация: 06.05.2010
Сообщений: 1,109
15.03.2011, 21:36
а что от чего наследовать и зачем? У вас в коде и так без наследования всё нормально... ну почти всё.
0
16 / 16 / 0
Регистрация: 17.12.2010
Сообщений: 40
16.03.2011, 23:04  [ТС]
у меня такое задание..

Добавлено через 23 часа 14 минут
0
 Аватар для BrumbleHorse
122 / 122 / 16
Регистрация: 18.09.2010
Сообщений: 212
17.03.2011, 00:30
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
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();
        }
    }
}
1
16 / 16 / 0
Регистрация: 17.12.2010
Сообщений: 40
17.03.2011, 11:59  [ТС]
сделайте пожалуйста коментарии к наследникам.... пожалуйста... очень очень надо
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
18.03.2011, 03:11
Вроде как-то так) Если что не так - извиняюсь.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//Закрытый для наследования от него класс TextFile, производный от File
sealed class TextFile : File
    {
        //Данное-член - строка
        private string data;
        //Конструктор принимаюший строку
        //и вызывающий конструктор базового класса, передавая в параметах эту строку
        public TextFile(string fName)
            : base(fName)
        {
            //Установка данного-члена в null
            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()
        {
            //Если не null - возвращаем строку
            //строка будет null только если мы ничего не добавляли в файл в этой сессии.
            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);
        }
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.03.2011, 03:11
Помогаю со студенческими работами здесь

Наследование интерфейса и наследование реализации
Начал читать книгу GoF и сразу же в предисловии попал в тупик. Чем отличается наследование...

Наследование С# , наследование полей
В классе есть приватное ПОЛЕ . Мне нужно использовать его в классе потомке . Можно это не сделать...

Наследование и вирт. методы
Привет!помогите сделать плз 1)Определите систему классов "Точка","Прямоугольник ","Эллипс",...

Виртуальные методы и наследование
Здраствуйте. Не могли бы вы помочь добавить к этой программе наследование и виртуальные методы?...

Наследование, полиморфные методы
№1 Составить программу с одним родительским классом и двумя потомками. Потомки должны содержать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru