Язык программирования C#

Содержание

Слайд 2

Class
Класс–это конструкция языка, состоящая из ключевого слова class, идентификатора (имени) и тела.
Класс

Class Класс–это конструкция языка, состоящая из ключевого слова class, идентификатора (имени) и
может содержать в своем теле: поля, методы, свойства и события.
Поля определяют состояние, а методы поведение будущего объекта.
classMyClass
{
public int field; // Поле
public void Method()// Метод
{
Console.WriteLine(field);
}
}

Слайд 4

Класс представляет собой шаблон, по которому определяется форма объекта. В нем указываются

Класс представляет собой шаблон, по которому определяется форма объекта. В нем указываются
данные и код, который будет оперировать этими данными. В C# используется спецификация класса для построения объектов , которые являются экземплярами класса.
Класс, по существу, представляет собой ряд схематических описаний способа построения объекта. При этом очень важно подчеркнуть, что класс является логической абстракцией.

Слайд 5

Метод –это конструкция языка, которая определяет (описывает) порядок выполнения некоторых действий

Метод –это конструкция языка, которая определяет (описывает) порядок выполнения некоторых действий

Слайд 6

Методы представляют собой подпрограммы, которые манипулируют данными, определенными в классе, а во

Методы представляют собой подпрограммы, которые манипулируют данными, определенными в классе, а во
многих случаях они предоставляют доступ к этим данным. Как правило, другие части программы взаимодействуют с классом посредством его методов.
Метод состоит из одного или нескольких операторов. В грамотно написанном коде C# каждый метод выполняет только одну функцию. У каждого метода имеется свое имя, по которому он вызывается. Следует, однако, иметь в виду, что идентификатор Main() зарезервирован для метода, с которого начинается выполнение программы.

Слайд 7

· Метод — это именованная часть программы, которая может вызываться из других

· Метод — это именованная часть программы, которая может вызываться из других
частей программы столько раз, сколько необходимо.
· Метод — это функция или процедура, выполняющая одну задачу.

Слайд 8

· О функциях и процедурах. В некоторых языках программирования (например, в Паскале)

· О функциях и процедурах. В некоторых языках программирования (например, в Паскале)
функции и процедуры (подпрограммы, не возвращающие значения) чётко разграничены синтаксисом языка.
В языке С#, — процедуры являются частным случаем (подмножеством) функций, возвращающими значение типа void — пустое значение.

Слайд 9

3)Если метод принимает аргументы – обязательно указать их тип и имя, если

3)Если метод принимает аргументы – обязательно указать их тип и имя, если
нет – оставить аргументные скобки () пустыми.
4)Если метод имеет возвращаемое значение, обязательно в теле метода должно присутствовать ключевое слово return. Тип возвращаемого значения метода должен соответствовать типу значения, указанному после ключевого слова return.

Слайд 10

Для вызова метода необходимо:
1)Написать имя метода.
2)Обязательно указать после имени аргументные

Для вызова метода необходимо: 1)Написать имя метода. 2)Обязательно указать после имени аргументные
скобки(), если метод принимает какие-то аргументы, передать соответствующее количество аргументов соответствующего типа.

Слайд 12

namespace HelloApp
{
class Program
{
static void Main(string[] args)
{
SayHello();
SayGoodbye();
Console.ReadKey();

namespace HelloApp { class Program { static void Main(string[] args) { SayHello();
}
static void SayHello()
{
Console.WriteLine("Hello");
}
static void SayGoodbye()
{
Console.WriteLine("GoodBye");
}
}
}

Слайд 13

namespace MethodBasics
{
class Program
{
static void Main(string[] args)
{
AddTwoNumbers();
}

namespace MethodBasics { class Program { static void Main(string[] args) { AddTwoNumbers();
//метод для сложения двух чисел
static void AddTwoNumbers()
{
int x = 5;
int y = 20;
int result = x + y;
Console.WriteLine("{0} + {1} = {2}", x, y, result);
Console.ReadKey();
}
}
}

Слайд 14

static void Main(string[] args)
{
AddTwoNumbers();
}

static void Main(string[] args) { AddTwoNumbers(); }

Слайд 15

//Параметры методов
class Program
{
static void Main(string[] args)
{
AddTwoNumbers(3, 4);

//Параметры методов class Program { static void Main(string[] args) { AddTwoNumbers(3, 4);
AddTwoNumbers(10,20);
AddTwoNumbers(-2,0);
TypeMessage("Hello");
Console.ReadKey();
}

Слайд 16

//метод для сложения двух чисел
static void AddTwoNumbers(int x, int y)
{

//метод для сложения двух чисел static void AddTwoNumbers(int x, int y) {
int result = x + y;
Console.WriteLine("{0} + {1} = {2}", x, y, result);
}
//метод выводит на консоль сообщение
static void TypeMessage(string message)
{
message = message + "!!!";
Console.WriteLine(message);
}

Слайд 21

class Program
{
static void Main(string[] args)
{
int methodResult =

class Program { static void Main(string[] args) { int methodResult = AddTwoNumbers(3,
AddTwoNumbers(3, 4);
System.Console.ReadKey();
}
//метод для сложения двух чисел
static int AddTwoNumbers(int x, int y)
{
int result = x + y;
System.Console.WriteLine("{0} + {1} = {2}", x, y, result);
return result;
}

Слайд 22

static void Main(string[] args)
{
int[] intArray = new[] { 222,

static void Main(string[] args) { int[] intArray = new[] { 222, -5,
-5, 0, 0, 15, 1000, -2, 211 };
Console.WriteLine(GetMaxValue(intArray));
}
//метод определяет максимальное из всех чисел в массиве
static int GetMaxValue(int[] intArray)
{
return intArray.Max();
}
}
}

Слайд 24

class Program
{
static void Main(string[] args)
{
int a = 25;
int

class Program { static void Main(string[] args) { int a = 25;
b = 35;
int result = Sum(a, b);
Console.WriteLine(result); // 60
result = Sum(b, 45);
Console.WriteLine(result); // 80

Слайд 25

result = Sum(a + b + 12, 18); // "a +

result = Sum(a + b + 12, 18); // "a + b
b + 12" представляет значение параметра x
Console.WriteLine(result); // 90
Console.ReadKey();
}
static int Sum(int x, int y)
{
return x + y;
}
}

Слайд 26

class Program
{
static void Main(string[] args)
{
Display("Tom", 24); // Name: Tom

class Program { static void Main(string[] args) { Display("Tom", 24); // Name:
Age: 24
Console.ReadKey();
}
static void Display(string name, int age)
{
Console.WriteLine($"Name: {name} Age: {age}");
}
}

Слайд 27

class Program
{
static void Main(string[] args)
{
int a;
int b =

class Program { static void Main(string[] args) { int a; int b
9;
Sum(a, b); // Ошибка - переменной a не присвоено значение
Console.ReadKey();
}
static int Sum(int x, int y)
{
return x + y;
}
}

Слайд 28

Конструкторы
В приведенных выше примерах программ переменные экземпляра каждого объекта типа Building приходилось

Конструкторы В приведенных выше примерах программ переменные экземпляра каждого объекта типа Building
инициализировать вручную, используя, в частности, следующую последовательность операторов.
house.Occupants = 4;
house.Area = 2500;
house.Floors = 2;
Такой прием обычно не применяется в профессионально написанном коде С#. Кроме того, он чреват ошибками (вы можете просто забыть инициализировать одно из полей). Нужно воспользоваться конструктором.

Слайд 29

Конструктор инициализирует объект при его создании. У конструктора такое же имя, как

Конструктор инициализирует объект при его создании. У конструктора такое же имя, как
и у его класса, а с точки зрения синтаксиса он подобен методу. Но у конструкторов нет возвращаемого типа, указываемого явно. Ниже приведена общая форма конструктора.
доступ имя_класса{список_параметров) {
// тело конструктора
}

Слайд 30

Как правило, конструктор используется для задания первоначальных значений переменных экземпляра, определенных в

Как правило, конструктор используется для задания первоначальных значений переменных экземпляра, определенных в
классе, или же для выполнения любых других установочных процедур, которые требуются для создания полностью сформированного объекта.
Кроме того, доступ обычно представляет собой модификатор доступа типа public, поскольку конструкторы зачастую вызываются в классе. А список_параметров может быть как пустым, так и состоящим из одного или более указываемых параметров.

Слайд 31

У всех классов имеются конструкторы, независимо от того, определите вы их или

У всех классов имеются конструкторы, независимо от того, определите вы их или
нет, поскольку в C# автоматически предоставляется конструктор, используемый по умолчанию и инициализирующий все переменные экземпляра их значениями по умолчанию.
Для большинства типов данных значением по умолчанию является нулевое, для типа bool — значение false, а для ссылочных типов — пустое значение.
Но как только вы определите свой собственный конструктор, то конструктор по умолчанию больше не используется.

Слайд 32

// Простой конструктор.
using System;
class MyClass {
public int x;

// Простой конструктор. using System; class MyClass { public int x; public

public MyClass() {
x = 10;
}
}

Слайд 33

class ConsDemo {
static void Main() {
MyClass t1 = new

class ConsDemo { static void Main() { MyClass t1 = new MyClass();
MyClass(); //конструктор MyClass() вызывается для объекта t1, присваивая переменной его экземпляра t1.х значение 10.
MyClass t2 = new MyClass();
Console.WriteLine(tl.x + " " + t2.x);
}
}

Слайд 34

// Параметризированный конструктор.
using System;
class MyClass {
public int x;

// Параметризированный конструктор. using System; class MyClass { public int x; public
public MyClass(int i) {
x = i;
}
}

Слайд 35

class ParmConsDemo {
  static void Main() {
    MyClass tl =

class ParmConsDemo { static void Main() { MyClass tl = new MyClass(10);
new MyClass(10);
    MyClass t2 = new MyClass(88);
    Console.WriteLine(tl.x + " " + t2.x);
  }
}

В данном варианте конструктора MyClass() определен параметр i, с помощью которого инициализируется переменная экземпляра х. Поэтому при выполнении следующей строки кода:
MyClass t1 = new MyClass(10);
параметру i передается значение, которое затем присваивается переменной х.

Слайд 36

// Добавить конструктор в класс Building.
using System;
class Building {

// Добавить конструктор в класс Building. using System; class Building { public
public int Floors; // количество этажей
public int Area; // общая площадь здания
public int Occupants; // количество жильцов
// Параметризированный конструктор для класса Building,
public Building(int f, int a, int o) {
Floors = f;
Area = a;
Occupants = o;
}

Слайд 37

// Возвратить площадь на одного человека,
public int AreaPerPerson() {

// Возвратить площадь на одного человека, public int AreaPerPerson() { return Area
return Area / Occupants;
}
// Возвратить максимальное количество человек, занимающих здание,
// исходя из заданной минимальной площади на одного человека.
public int MaxOccupant(int minArea) {
return Area / minArea;
}
}

Слайд 38

// Использовать параметризированный конструктор класса Building,
class BuildingDemo {
static void

// Использовать параметризированный конструктор класса Building, class BuildingDemo { static void Main()
Main() {
Building house = new Building(2, 2500, 4); //конструктору Building() передаются значения 2, 2500 и 4 при создании нового объекта. Следовательно, в копиях переменных экземпляра Floors, Area и Occupants объекта house будут храниться значения 2, 2500 и 4 соответственно.
Building office = new Building(3, 4200, 25);

Слайд 39

Повторение:
Для преобразования текста, находящегося, например, в поле редактирования, в целое число нужно

Повторение: Для преобразования текста, находящегося, например, в поле редактирования, в целое число
использовать функцию Convert.ToInt32(), в дробное число — Convert.ToDouble()
a = Convert.ToInt32(textBox1.Text);

Слайд 40

Повторение:
Преобразовать численное значение в строку позволяет метод ToString().
label1.Text = "summand1 +

Повторение: Преобразовать численное значение в строку позволяет метод ToString(). label1.Text = "summand1
summand2 = " + sum.ToString();
MessageBox.Show("sum="+sum.ToString());

Слайд 41

listing 1
// A program that uses the Building class.
using System;
class

listing 1 // A program that uses the Building class. using System;
Building {
public int Floors; // number of floors
public int Area; // total square footage of building
public int Occupants; // number of occupants
}

Слайд 42

// This class declares an object of type Building.
class BuildingDemo {

// This class declares an object of type Building. class BuildingDemo {

static void Main() {
Building house = new Building(); // create a Building object
int areaPP; // area per person
// Assign values to fields in house.
house.Occupants = 4;
house.Area = 2500;
house.Floors = 2;

Слайд 43

// Compute the area per person.
areaPP = house.Area / house.Occupants;

// Compute the area per person. areaPP = house.Area / house.Occupants; Console.WriteLine("house

Console.WriteLine("house has:\n " +
house.Floors + " floors\n " +
house.Occupants + " occupants\n " +
house.Area + " total area\n " +
areaPP + " area per person");
}
}

Слайд 47

using System.Windows.Forms;
namespace WindowsFormsApp31
{
public partial class Form1 : Form
{
public Form1()

using System.Windows.Forms; namespace WindowsFormsApp31 { public partial class Form1 : Form {
{
InitializeComponent();
}
class Building
{
public int Floors; // number of floors
public int Area; // total square footage of building
public int Occupants; // number of occupants
}

Слайд 48

private void button1_Click(object sender, EventArgs e)
{
Building house = new

private void button1_Click(object sender, EventArgs e) { Building house = new Building();
Building(); // create a Building object
int areaPP; // area per person
house.Occupants = Convert.ToInt32(textBox2.Text);
house.Area = Convert.ToInt32(textBox3.Text);
house.Floors = Convert.ToInt32(textBox4.Text);
areaPP = house.Area / house.Occupants;

Слайд 49

string str;
str= "ХАРАКТЕРИСТИКА ДОМА:" + Environment.NewLine+ "house has "
+

string str; str= "ХАРАКТЕРИСТИКА ДОМА:" + Environment.NewLine+ "house has " + house.Floors.ToString()
house.Floors.ToString() + " floors " + Environment.NewLine
+ house.Occupants.ToString() + " occupants " + Environment.NewLine
+ house.Area.ToString() + " total area" + Environment.NewLine
+ areaPP.ToString() + " area per person";
textBox1.Text = str;
label4.Text = str;
Имя файла: Язык-программирования-C#.pptx
Количество просмотров: 38
Количество скачиваний: 0