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

Какая польза от классов?

12.08.2011, 17:45. Показов 3538. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Смотрел видео уроки по класам, там идьот опис обектов их свойств.
Но я не понимаю какая польза от класов эсли у меня эсть кнопка и поле для вывода текста, тут пременить както клас возможно,
или класом както уменшыть какой то код. Приведите мне пример пользы от класа.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.08.2011, 17:45
Ответы с готовыми решениями:

Для чего вообще нужен полиморфизм. Какая польза от наследования
Здравствуйте всем. Кто зашел в эту ветку форума. Вопрос такой. Есть ООП и один из трех столпов - полиморфизм. Суть полиморфизма ясна и для...

Какая польза от использования dynamic - экономит ли память,выделяемую на переменные?(т.е одна вместо многих)
Какая польза от использования dynamic - экономит ли память,выделяемую на переменные?(т.е одна вместо многих)

подскажите какая группа методов и классов отвечает в с# за работу bluetouch
Спасибо!!!

16
 Аватар для umnick_kh
311 / 249 / 44
Регистрация: 06.12.2010
Сообщений: 527
12.08.2011, 17:52
Цитата Сообщение от biosmen Посмотреть сообщение
какая польза от класов
Тут, если уж не хотите даже попробовать почитать правильные книги на эту тему, кратко описано что такое класс. http://www.c-help.net/38.html
0
9 / 9 / 2
Регистрация: 06.07.2011
Сообщений: 67
12.08.2011, 17:54  [ТС]
Книга эсть отдал за нейо 500 грн. но времени читать нет, пишу програму, надо откуда то сразу знать =), от и хочу осознать С шарп, с помощу людей, так скорей, хотя людей это нервирует.
0
 Аватар для umnick_kh
311 / 249 / 44
Регистрация: 06.12.2010
Сообщений: 527
12.08.2011, 17:59
Цитата Сообщение от biosmen Посмотреть сообщение
но времени читать нет
С таким подходом вы ничего не добьетесь. Пишите свою программу не используя классы.

Не по теме:

Цитата Сообщение от biosmen Посмотреть сообщение
с помощу людей
а книги по-вашему не люди пишут?

0
9 / 9 / 2
Регистрация: 06.07.2011
Сообщений: 67
12.08.2011, 18:03  [ТС]
Ок я прочел, ну а как это применить для кнопки или для чевото стандартного что уже готово в Visual C#
0
 Аватар для umnick_kh
311 / 249 / 44
Регистрация: 06.12.2010
Сообщений: 527
12.08.2011, 18:24
Откуда я знаю как вам нужно это применить для кнопки? И научитесь уже писать нормально, хотя бы расставляя запятые, мне трудно читать ваши сообщения.

Добавлено через 15 минут
Возможно пример не из лучших, но это первое что пришло мне в голову.
Вот пример класса, киньте на форму кнопку и listBox, по-нажимайте на кнопку.
Класс содержит в себе 2 метода.AddTime добавляет дату последнего нажатия на кнопку в список DateTimes, метод Return возвращает этот список.
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
using System;
using System.Collections.Generic;
using System.Windows.Forms;
 
namespace ButtonClassTime
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        ClickTime ct = new ClickTime();
        private void button1_Click(object sender, EventArgs e)
        {
            ct.AddTime();
            listBox1.Items.Clear();
            foreach (DateTime d in ct.Return())
            {
                listBox1.Items.Add(d.TimeOfDay.ToString());
            }
        }
    }
    public class ClickTime
    {
        List<DateTime> DateTimes = new List<DateTime>();
        public void AddTime()
        {
            DateTimes.Add(DateTime.Now);
        }
        public List<DateTime> Return()
        {
            return DateTimes;
        }
    }
}
1
9 / 9 / 2
Регистрация: 06.07.2011
Сообщений: 67
12.08.2011, 18:32  [ТС]
Ничо както разберусь.
0
 Аватар для Евгений В
912 / 672 / 134
Регистрация: 01.03.2010
Сообщений: 1,279
12.08.2011, 22:43
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от biosmen Посмотреть сообщение
какая польза от класов эсли у меня эсть кнопка и поле для вывода текста,
Вообще то это тоже классы, но уже написанные разработчиками C# для нас - пользователей.

Например, класс Buttom - это некий код, который позволяет рисовать кнопку на экране, изменять свойства (цвет, размер и т.д.) и реагировать на наши пожелания (а это уже методы: что делать при нажатии кнопки, наведении на нее курсора и т.д. ) . Все это сгруппировано в отдельный, самостоятельный код который и назвали классом.

Получается, что класс, это некая структура , которой можно управлять при помощи свойств и методов.

Например, у тебя на мониторе есть класс Button1 (здесь для простоты я делаю намеренно ошибку, потому что Button1 это объект а не класс,
но в чем различия - читай книги. Скажу только, сам класс ничего делать не умеет. Это всего лишь текстовой код (шаблон). Что бы этот код заработал, нужно что бы компьютер на основании этого кода выделил и распределил память, заполнил переменные и т.д. Делается это при помощи короткого словечка new . Эта процедура и будет называться созданием рабочего объекта на основе написанного класса.
Например, Button bt = new Button();. Button -это класс (где то один раз написанный код ). При помощи new создаем реально существующий объект. И даем ему имя - bt. Теперь с этим объектом можно делать все, что он умеет. На основании одного класса Button (например), можно наштамповать кучу не зависимых друг от друга объектов bt1, bt2 и т.д.).

Так вот, вернусь к Button1.. Если ты уже понял, это объект. Просто он еще умеет рисовать на экране прямоугольник и перерисовывать этот прямоугольник при нажатии на него мышкой (утапливаться). Это так называемый визуальный объект, создающийся автоматически после выбора в Панели элементов строки Button . В нем то же есть и new, и реализация какого то кода . Этот код скрыт от тебя, но даны возможности посылать команды этому коду и получать ответные реакции.
Например, button1.BackColor = Color.Green. В объект button1 мы посылаем команду BackColor - изменить цвет нашего объекта на зеленый ( на Color.Green). Внутри класса Button есть часть кода, которая примет эту команду и перерисует нам кнопку. И т.п.

Ну а теперь, с учетом выше сказанного. Класс - это код, выполняющий некоторую задумку. "Разговаривать" с этим классом можно при помощи команд, которые вы назовете как хотите. Главное, что бы под ними, в классе, подразумевались какие то реализации кодов.
Например, есть класс AAAA. В нем есть метод bbb. Написав где нибудь (вне класса AAAA)
команду AAAA.bbb мы заставим запуститься метод bbb. Это если грубо сказать.

Возьмем пример, написанный для тебя от umnick_kh.

Там он написал собственный класс ClickTime (public class ClickTime). В нем он создал метод - некую задумку и назвал его AddTime (public void AddTime()). Имя метода будет будущей командой для его же запуска.
Затем на основании этого класса ClickTime он создал объект, которому придумал имя ct (ClickTime ct = new ClickTime() ). Не смотри, что класс написан внизу а объект делается выше.
Теперь с этим объектом можно работать.
Что он и сделал в обработчике события private void button1_Click(object sender, EventArgs e).
Там он объекту ct отправил команду AddTime (ct.AddTime() ) . А что делает эта команда (метод в данном случае) - описано в классе class ClickTime.

Ну вот. Как то так.
5
12.08.2011, 22:46

Не по теме:

Евгений В, однозначно нужно поместить это в FAQ. Отлично все описано.

1
 Аватар для Refactor
96 / 89 / 29
Регистрация: 05.03.2010
Сообщений: 231
13.08.2011, 02:35
Цитата Сообщение от biosmen Посмотреть сообщение
Книга эсть отдал за нейо 500 грн. но времени читать нет....
Цитата Сообщение от biosmen Посмотреть сообщение
надо откуда то сразу знать....
Цитата Сообщение от biosmen Посмотреть сообщение
и хочу осознать С шарп, с помощу людей.....
Цитата Сообщение от biosmen Посмотреть сообщение
так скорей, хотя людей это нервирует....
Цитата Сообщение от biosmen Посмотреть сообщение
Ок я прочел
Цитата Сообщение от biosmen Посмотреть сообщение
както разберусь.
biosmen вы хоть анализируете то что пишите?
0
13.08.2011, 10:59

Не по теме:

печально...

0
 Аватар для HIMen
4340 / 1509 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
13.08.2011, 18:00
Цитата Сообщение от biosmen Посмотреть сообщение
Приведите мне пример пользы от класа
Ваши любимые кнопка и текстбокс, которыми вы пишите "программы", это классы.
0
9 / 9 / 2
Регистрация: 06.07.2011
Сообщений: 67
15.08.2011, 16:00  [ТС]
Цитата Сообщение от Refactor Посмотреть сообщение
biosmen вы хоть анализируете то что пишите?
Да от написал)

Добавлено через 5 часов 19 минут
Евгений В? спасибо за хорошое обяснение, тепер я понял.
0
0 / 0 / 0
Регистрация: 01.09.2011
Сообщений: 7
01.09.2011, 19:08
Цитата Сообщение от umnick_kh Посмотреть сообщение
Тут, если уж не хотите даже попробовать почитать правильные книги на эту тему, кратко описано что такое класс. http://www.c-help.net/38.html
огромное спасибо!

Добавлено через 33 минуты
Цитата Сообщение от umnick_kh Посмотреть сообщение
C#
1
2
3
4
5
6
7
8
namespace ButtonClassTime
{
 public partial class Form1 : Form
 {
 public Form1()
 {
 InitializeComponent();
 }
доброго времени уважаемые! подскажите
1.namespace (имя) -имя может быть любым? хоть Dusy? Я не вижу чтоб его где-то использовали
2.partial обязательно использовать? можно ли писать class Form1: Form ?
3. при определении класса обязательно ли на первых парах определять доступность классов (private public)?

Добавлено через 9 минут
не так давно я писал простенькие программы на С. Появился смартфон и примерно год назад поставил цель написать приложение для него. Бегло прочитал учебник Java затем XML, PHP. И вот понял что ближе всего для меня С#. Признаясь очень тяжело понимать обьектно -ориентированые языки после Ассемблера. Надеюсь на этом Форуме найдуться люди которые разовьют моё мышление в сторону обьектных языков.
0
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
01.09.2011, 19:52
Цитата Сообщение от yazimma Посмотреть сообщение
Появился смартфон и примерно год назад поставил цель написать приложение для него. Бегло прочитал учебник Java затем XML, PHP.

Не по теме:

no comments



Цитата Сообщение от yazimma Посмотреть сообщение
И вот понял что ближе всего для меня С#.
Почему?Для мобильных устройств он кстати не прокатит(ну кроме тех что под мобильной виндой)
Цитата Сообщение от yazimma Посмотреть сообщение
Признаюсь очень тяжело понимать объектно-ориентированные языки после Ассемблера.
Ну так книжечку какую-нибудь купите/скачайте типа [Г.Шилдт"C# Учебный курс"]

Цитата Сообщение от yazimma Посмотреть сообщение
1.namespace (имя) -имя может быть любым? хоть Dusy? Я не вижу чтоб его где-то использовали
Зависит от ситуации. Если компилятор сам ставил - то нет. А если вы сами пространство имен создавали - то да.
Цитата Сообщение от yazimma Посмотреть сообщение
2.partial обязательно использовать? можно ли писать class Form1: Form ?
в данном случае ДА т.к. это не все реализация класса здесь.
Цитата Сообщение от yazimma Посмотреть сообщение
3. при определении класса обязательно ли на первых парах определять доступность классов (private public)?
private - нет(по умолчанию он). А public и protected - да.
1
0 / 0 / 0
Регистрация: 01.09.2011
Сообщений: 7
05.09.2011, 19:08
Цитата Сообщение от Artishok Посмотреть сообщение
Для мобильных устройств он кстати не прокатит
что-же мне посоветуете? неужели яву. боюсь как черт ладона. хотя как я заметил что-то общее есть.
В C# мне нравиться как в учебниках расписано от простого к сложному. Что-же посоветуете для создания приложения под WM6/5 с выводом анимированого , считывать XML c сайта?
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
06.09.2011, 11:27
Невозможно понять что такое, и для чего нужен класс без понимания того, что из себя представляет ООП. И уж тем более нельзя писать программы на ОО языке программирования не прочитав по ООП ни одной книги.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.09.2011, 11:27
Помогаю со студенческими работами здесь

Какая практическая польза в использовании envoy?
Всем привет читаю использование envoy https://laravel.com/docs/5.7/envoy и не пойму в чем его преимущество и в каких случаях его...

Отладчики - какая от них польза и как ими правильно пользоваться?
Какую пользу несут отладчики и как ими правильно пользоваться? Нет, как его запустить я себе представляю (благо иде помогает), но что я...

Что такое директива, где она используется, и какая от неё польза?
Что такое директива, где она используется, и какая от неё польза?

Какая CMS подойдет для размещения мастер-классов?
Подскажите, кто может делал, знает или видел. Есть какой-либо движок с плагинами или модулями, с помощью которых можно добавлять...

Для введенного целого трехзначного числа определить, какая цифра в числе является первой, какая второй и какая третьей
Разработать программу, которая для введенного целого трехзначного числа определяет, какая цифра в числе является первой, какая – второй и...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru