C# с нуля By Depander <<Классы и методы>>

  • Автор темы Автор темы Aqua
  • Дата начала Дата начала

Aqua

Premium
Сообщения
2.141
Реакции
2.536
в 16 уроке мет рассказывал про классы, ну вот я продолжу эту тему.
Он объявлял переменные открытыми(public), вобще не рекомендуется объявлять их открытыми если с ними работают только методы. Эти переменные из любой части кода вызываются с помощью объектов класса. Ну вобще существует не только этот модификатор(public) есть еще 3: internal - переменные доступны в пределах 1 namespace, private - переменные доступны только в пределах класса и protected - почти такойже как и private, но только переменные доступны еще и классам наследникам. И про методы они также могут быть с такими же модификаторами(public, private и т.д) и могут возращать значение(int, double, bool и т.д) и если метод возращает значение у него должны быть параметры(то что у метода в скобках), они объявляются как переменные и разделяются запятыми и при вызове метода их указывают значения для них в порядке их объявления. И сделаем консольный калькулятор.
Код:
using System;   //подключаем пространство имен

class Program
{
    /*
     * назначаем 2 закрытые переменные
     * типа double модификатор можно
     * не указывать т.к он по умол
     * чанию закрытый(private)
     */
    double FN = 0.0;   
    double SN = 0.0;

    public void SetFNandSN()   //делаем открытый метод не возвращающий значение
    {
        Console.WriteLine();
       
        Console.Write("Введите 1 число: ");
        FN = Convert.ToDouble(Console.ReadLine());

        Console.Write("Введите 2 число: ");
        SN = Convert.ToDouble(Console.ReadLine());

        /*
         * вызываем метод SimpleCalculate
         * и не нужно создавать объект т.к
         * метод в этом же классе
         */
        SimpleCalculate();  
    }
    void SimpleCalculate()   //создаем закрытый метод т.к он вызывается только из этого класса
    {
        Console.WriteLine();

        Console.WriteLine("Сумма: " + (FN + SN));
        Console.WriteLine("Разность: " + (FN - SN));
        Console.WriteLine("Частное: " + (FN / SN));
        Console.WriteLine("Произведение: " + (FN * SN));

        Console.WriteLine();
    }
}
class DemoProgram
{
    static int Main()
    {
        Program ob = new Program();   //создаем новый объект

        int intvar1 = 0;
        Console.WriteLine("Сколько раз производить вычисления?");
        intvar1 = Convert.ToInt32(Console.ReadLine());   //конвертируем наш ответ в тип int

        for(int i = 0; i < intvar1; i++)
        {
            ob.SetFNandSN();   //вызываем метод
        }

        Console.ReadKey();   //ожидаем нажатия любой клавиши

        return 0;   //возвращаем значение 0 т.к Main() должен возвращать значение int
    }
}

И кстати возврат значений осуществляется с помощью ключевого слово return. Так же метод Main() как и другие методы может возвращать значение(я сделал это чтобы показать применения оператора return).
 
kaspersky keys
Верх