88 lines
2.5 KiB
C#
88 lines
2.5 KiB
C#
|
using System;
|
|||
|
|
|||
|
/*
|
|||
|
* ООП
|
|||
|
* класс
|
|||
|
* объект класса
|
|||
|
*/
|
|||
|
enum Color
|
|||
|
{
|
|||
|
Red,
|
|||
|
Green,
|
|||
|
Orange,
|
|||
|
Yellow,
|
|||
|
Blue
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// ТОЧКА
|
|||
|
/// Класс - это некий чертеж
|
|||
|
/// Класс - это наш собственный тип данных
|
|||
|
/// Класс - это ссылочный тип данных (мы должны выделить место в управляемой куче где он будет размещен)
|
|||
|
/// Переменные внутри класса - называются поля со своими модификаторами доступа
|
|||
|
/// </summary>
|
|||
|
class Point
|
|||
|
{
|
|||
|
public int x;
|
|||
|
public int y;
|
|||
|
public Color color;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Основной класс
|
|||
|
/// </summary>
|
|||
|
class Program
|
|||
|
{
|
|||
|
static Students GetStudent()
|
|||
|
{
|
|||
|
return new Students
|
|||
|
{
|
|||
|
id = Guid.NewGuid(),
|
|||
|
firstName = "first",
|
|||
|
lastName = "last",
|
|||
|
middleName = "middle",
|
|||
|
age = 24,
|
|||
|
group = "professional"
|
|||
|
};
|
|||
|
}
|
|||
|
|
|||
|
static void Print(Students student_val)
|
|||
|
{
|
|||
|
Console.WriteLine($"id: {student_val.id}, firstName: {student_val.firstName},\n" +
|
|||
|
$"lastName: {student_val.lastName}, middleName: {student_val.middleName},\n" +
|
|||
|
$"age: {student_val.age}, group: {student_val.group}");
|
|||
|
}
|
|||
|
|
|||
|
//*Любой обьект в языке C# является наследником типа object
|
|||
|
static void Main()
|
|||
|
{
|
|||
|
// экземпляр(объект) класса - это уже готовый построенный дом
|
|||
|
Point point_1 = new Point();
|
|||
|
point_1.x = 4;
|
|||
|
point_1.y = 2;
|
|||
|
|
|||
|
Console.WriteLine($" x: {point_1.x}, y: {point_1.y}");
|
|||
|
|
|||
|
Point point_2 = new Point();
|
|||
|
point_2.x = 2;
|
|||
|
point_2.y = 6;
|
|||
|
|
|||
|
// Доказательство, того что класс - ссылочный тип
|
|||
|
Point test = new Point();
|
|||
|
test = null;
|
|||
|
// мы разорвали связь между данными в управляемой куче и объектом класса
|
|||
|
// test.x = 4;
|
|||
|
// test.y = 2;
|
|||
|
|
|||
|
Point point_3 = new Point();
|
|||
|
point_3.x = 4;
|
|||
|
point_3.y = 2;
|
|||
|
point_3.color = Color.Orange;
|
|||
|
Console.WriteLine($"X: {point_3.x} | Y: {point_3.y} | Color: {point_3.color}");
|
|||
|
|
|||
|
// Student
|
|||
|
var firstStudent = GetStudent();
|
|||
|
Print(firstStudent);
|
|||
|
Console.ReadKey();
|
|||
|
}
|
|||
|
}
|