Об'єктно-орієнтоване програмування
Автор: Diana Reva • Июнь 17, 2022 • Лабораторная работа • 1,619 Слов (7 Страниц) • 240 Просмотры
КИЇВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ
імені ТАРАСА ШЕВЧЕНКА
ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ
Кафедра прикладних інформаційних систем
Звіт до лабораторної роботи №5
з курсу
« Об'єктно-орієнтоване програмування»
студентки 2 курсу
групи ПП-22-2
спеціальності 122 «Комп'ютерні науки»
ОП «Прикладне програмування»
Реви Діани Олегівни
Викладач:
Шолохов Олексій Вікторович
Київ – 2022
Тема: Успадкування в С++ та С#.
Мета роботи: Набуття навичок розробки програм мовами С++ та С# з використанням базового принципу об’єктно-орієнтованого програмування – (одиночного) успадкування.
Хід роботи:
C#:
Клієнтська частина:
namespace Lab1_1;
public static class Client
{
public static void Main()
{
var vector = new Vector2D();
vector.DataOutput();
vector.ChangeData(2, 2);
vector.DataOutput();
vector.VectorLength();
var vector1 = new Vector2D();
vector1.ChangeData(10, 10);
var vector2 = vector + vector1;
var vector3 = vector - vector1;
var vector4 = vector * vector1;
vector2.DataOutput();
vector3.DataOutput();
Console.WriteLine(vector4);
Console.WriteLine("------------------------------");
var vector5 = new Vector3D();
vector5.DataOutput();
vector5.ChangeData(1, 1, 1);
vector5.DataOutput();
var vector6 = new Vector3D(vector5);
vector6.DataOutput();
var vector7 = vector5 + vector6;
vector7.DataOutput();
vector7.VectorLength();
}
}
Двомірний вектор:
namespace Lab1_1;
public class Vector2D
{
protected float _x { get; set; }
protected float _y { get; set; }
public Vector2D()
{
_x = 3;
_y = 4;
}
public Vector2D(float x, float y)
{
_x = x;
_y = y;
}
public Vector2D(Vector2D vector2D)
{
_x = vector2D._x;
_y = vector2D._y;
}
public void ChangeData(float x, float y)
{
_x = x;
_y = y;
}
public void DataOutput()
{
Console.WriteLine("X: {0}, Y: {1}", _x, _y);
}
public void VectorLength()
{
var length = Math.Sqrt(Math.Pow(_x, 2) + Math.Pow(_y, 2));
Console.WriteLine("Vector length: {0}", length);
}
public static Vector2D operator -(Vector2D vectorA, Vector2D vectorB)
{
return new Vector2D(vectorA._x - vectorB._x, vectorA._y - vectorB._y);
}
public static Vector2D operator +(Vector2D vectorA, Vector2D vectorB)
{
return new Vector2D(vectorA._x + vectorB._x, vectorA._y + vectorB._y);
}
public static float operator *(Vector2D vectorA, Vector2D vectorB)
{
return vectorA._x * vectorB._x + vectorA._y * vectorB._y;
}
}
...