Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Несколько классов в одной программе. с применением ООП 
:(
    Опции темы
RedButterfly
Дата 10.9.2008, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



Добрый вечер уважаемые.

Пишу небольшую программу с несколькими классами = 3 класса + класс формы.

Классы взаимодействуют друг с другом... передают значения...вызывают друг друга (создание экземпляра класса).

и все это с применением с ООП.

Дайте пожалуйста примеры таких программ...или почитать ... а то что-то я не знаю как все это реализовать правильно....

 smile 




PM MAIL ICQ Skype   Вверх
lankin
Дата 10.9.2008, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 377
Регистрация: 13.12.2006

Репутация: нет
Всего: нет



А что тебе нужно? Как объявить экземпляр класса, наследование и т.п.?
PM MAIL   Вверх
RedButterfly
Дата 11.9.2008, 06:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



Вот например
Это оконный класс
Код


namespace Work
{
static class Program
{
    [STAThread]
    static void Main()
    {
         ENApp App = new ENApp();               // Тут содзается экземпляр класса ENApp
            
        Application.Run(new Work());
    }
}
}


Вот класс ENApp

Код

namespace Work
{
    public class ENApp
    {
        public ENApp()
        {
            Console.WriteLine("Это класс ENApp");
            // так нельзя писать, так как при конструировании класса создается пустая строка...
            CreateConn(connectionServer, connectionDataBase, security);     // Функция создания строки подключения.
            //CloseConn(connectionServer, connectionDataBase, security);     // Функция закрытия подключения.
            sqlConnection = new SqlConnection();        // Коннект.... по идее это должна быть переменная.
            ProjectCount();     // Количество проектов.
            Projects();     // Список проектов.
            GetProject(name);// GetProject(Name):ENProject    
        }
        public string CreateConn(string Server, string DataBase, string sec)
        {
            Console.WriteLine("Это функция CreateConn");
         }

        public int ProjectCount()
        {
            Console.WriteLine("Это функция ProjectCount");
            // здесь пишу код для возврата количества проектов.
            return count;
        }

        public void Projects()      // Список проектов.
        {
            Console.WriteLine("Это функция Projects");
            // здесь пишу код для возврата коллекции проектов.
           }

        public ENProject GetProject(string name)
        {
            Console.WriteLine("Это функция GetProject");
                     
           return new ENProject(); // здесь нужно вернуть переменную типа класса ENProject!!! Правильно????
        }
        public void OpenConn() // Соединение.
        {
            Console.WriteLine("Это функция OpenConn");
        }
        public void CloseConn()
        {
            Console.WriteLine("Это функция CloseConn");
        }

    }
}

 Вот класс ENProject
Код

public class ENProject
{
    // Name // свойство
    // Description // свойство 
    // Nodes[] // ENNode //  это тоже свойство..должно возвращать экземпляр класса ENNode
    public ENProject()
    {
        CreateIDApp();
        CreateNameApp();
        GetAllDocument();      
    }
    public void CreateIDApp()
    {
        Console.WriteLine("Это функция CreateIDApp");
    }
    public void CreateNameApp()
    {
        Console.WriteLine("Это функция CreateNameApp");
    }
    public void GetAllDocument()
    {
        Console.WriteLine("Это функция GetAllDocument");
    }
}


Разве свойство может возвращать экземпляр класса?

Вот этот кусочек кода правильно записан:
Код

  public ENProject GetProject(string name)
        {
            Console.WriteLine("Это функция GetProject");
                     
           return new ENProject(); // здесь нужно вернуть переменную типа класса ENProject!!! Правильно????
        }



В классе ENProject должна быть переменная типа ENApp, то есть экземпляр класса...такое разве может быть?
Её можно вот так записать?  ENApp App; 



Это сообщение отредактировал(а) RedButterfly - 11.9.2008, 06:53
PM MAIL ICQ Skype   Вверх
MasterOfCode
Дата 11.9.2008, 07:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


elwin
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 24.4.2008
Где: World.Russia.Tyum en

Репутация: 4
Всего: 27



Код

class cPoint // класс Точка.
{
    private int x;
    private int y;
    public cPoint(int X, int Y) //конструктор класса
    {
        x = X;
        y = Y;
    }
    public int X
    {
        get { return x; }
        set { this.x = value; }
    }
    public int X
    {
        get { return x; }
        set { this.x = value; }
    }
}


Код

class cCircle
{
    private cPoint center; //вот тебе экземпляр класса.
    private float radius;
    public cCircle(cPoint Center, float Radius) // конструктор класса
    {
        center = Center;
        radius = Radius;
    }
    
    public float Radius
    {
        get { return radius; }
        set { this.radius = value; }
    }

    public float Diameter
    {
        get { return (radius * 2); }
    }
    
    public float Dlina_Okrujnosti
    {
        get { return (radius * 2 * 3.14); }
    }
}


Код

class Program
    {
        static void Main(string[] args)
        {
            //создаем экземпляр класса точка
            cPoint p = new cPoint(100, 100);
             //создаем экземпляр класса Окружность
            cCircle c = new cCircle(p, 20);
            Console.WriteLine(c.Diameter);
        }
    }


Это сообщение отредактировал(а) MasterOfCode - 11.9.2008, 07:07


--------------------
user posted image
PM ICQ   Вверх
RedButterfly
Дата 11.9.2008, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



Хорошо smile

спасибо , милый smile

Это сообщение отредактировал(а) RedButterfly - 11.9.2008, 11:05
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0531 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.