Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
масьkа
1 / 1 / 0
Регистрация: 16.12.2010
Сообщений: 38
1

Виртуальный метод класса

30.05.2011, 02:29. Просмотров 789. Ответов 4
Метки нет (Все метки)

подскажите пожалуйста как переопределить виртуальный метод класса ?
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication37
{
    class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Введите часы");
            int h;
            h = Convert.ToInt32(Console.ReadLine());
 
            Console.WriteLine("Введите минуты");
            int m;
            m = Convert.ToInt32(Console.ReadLine());
            Time t = new Time(h, m);
 
            Console.WriteLine("Добавьте минуты");
            int d;
            d = Convert.ToInt32(Console.ReadLine());
 
            t.AddMinute(d);
 
            Console.WriteLine("Итоговое время");
            Console.WriteLine(t.GetTime());
            Console.ReadLine();
            Date mydate = new Date();
 
            Console.WriteLine("Введите месяц");
            int mm;
            mm = Convert.ToInt32(Console.ReadLine());
            mydate.month = mm;
 
            Console.WriteLine("Введите день");
            int md;
            md = Convert.ToInt32(Console.ReadLine());
            mydate.day = md;
 
            Console.WriteLine("Введите год");
            int my;
            my = Convert.ToInt32(Console.ReadLine());
            mydate.year = my;
 
            Console.WriteLine("{0} День по счету", mydate.DayOfYear());
            Console.ReadLine();
        }
    }
    public class Time
    {
        int hour;
        int minute;
 
        public Time() { hour = 0; minute = 0; }
        public Time(int _hour, int _minute)
        {
            if (VerificationTime(_hour, _minute))
            {
                hour = _hour;
                minute = _minute;
            }
        }
 
        public int Hour
        {
            get { return hour; }
            set { hour = value; }
        }
 
        public int Minute
        {
            get { return minute; }
            set { minute = value; }
        }
 
        public int CountMinute
        {
            get
            {
                TimeSpan t = DateTime.Now.Date.AddHours((double)hour).AddMinutes((double)minute) - DateTime.Now.Date;
                return (int)t.TotalMinutes;
            }
        }
 
        public string GetTime()
        {
            return hour + ":" + minute;
        }
 
        public bool VerificationTime(int a, int b)
        {
            if ((a < 24 && a >= 0) && (b < 60 && b >= 0))
                return true;
            else
                return false;
        }
 
        public virtual void AddMinute(int x)
        {
            minute += x;
            if (minute / 60 > 0)
            {
                hour += minute / 60;
                minute = minute % 60;
            }
        }
    }
 
    public class Date : Time
    {
public int year;
public int month;
public int day;
 
public static bool IsLeapYear(int year)
{
return (year % 4 == 0) && ((year % 100 != 0) || (year % 400 == 0));
}
 
public int DayOfYear()
{
int[] MonthDays = new int[] {   0,  31,  59,  90, 120, 151,
181, 212, 243, 273, 304, 334 };
return MonthDays[month - 1] + day +
(month > 2 && IsLeapYear(year) ? 1 : 0);
}
}
}

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2011, 02:29
Ответы с готовыми решениями:

Виртуальный метод класса plane
Дан класс,нужно сделать из него виртуальный метод,можете помочь? объясните,пожалуйста,проще...

Добавить в приложение виртуальный метод
using System; using System.IO; namespace Test { class File { protected...

Почему не работает виртуальный метод?
using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

Что значит виртуальный метод
Добрый вечер, можете мне обьяснить как это сделать. WindowsForms Определить базовый и...

Передача названия класса в метод другого класса в качестве входных данных
У меня есть класс &quot;class1&quot;, от которого наследуется несколько однотипных классов classX, classY,...

4
Runa
133 / 85 / 22
Регистрация: 28.08.2009
Сообщений: 363
30.05.2011, 03:01 2
в классе Date : Time
C#
1
2
3
public override void AddMinute(int x){
      //код
}
1
масьkа
1 / 1 / 0
Регистрация: 16.12.2010
Сообщений: 38
30.05.2011, 08:33  [ТС] 3
а как его переопределить ?
0
Runa
133 / 85 / 22
Регистрация: 28.08.2009
Сообщений: 363
30.05.2011, 08:37 4
ну смотря что вы хотите в нем сделать
я так понимаю вам по аналогии нужно проследить, если прибавление часа произошло и количество часов стало больше 24 то прибавить день и т д
0
масьkа
1 / 1 / 0
Регистрация: 16.12.2010
Сообщений: 38
30.05.2011, 15:21  [ТС] 5
Да, именно это и требуется,пожалуйста подскажите как реализовать ?
0
30.05.2011, 15:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2011, 15:21

Как передать объект класса в метод класса?
Здравствуйте, каким образом передать объект класса в метод класса? Вот код: class Program {...

Вызвать метод производного класса из базового класса
namespace patterns { public class BaseClass { public virtual void Action() ...

Взять метод класса без класса
Доброго времени суток, к примеру есть класс int, и у него есть метод .Parse(&quot;123&quot;), что бы его...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru