В связи с развитием рынка программного обеспечения актуальным является поиск новых подходов к решению задач. Одной из таких технологий является объектно-ориентированная парадигма, основанная на представлении программы в виде классов. Объектно-ориентированная парадигма программирования позволяет работать с отдельными модулями, что ведет к улучшению качества программы и повышению ее эффективности. Кроме того, данная парадигма позволяет реализовать сложные программные системы.
Большая часть современных языков программирования поддерживает данную парадигму. Рассмотрим ее реализацию на примере высокоуровневого языка программирования C#, который применяется для разработки игр, сайтов, работы с базами данных.
Создадим класс с описанием типов объектов. Каждый класс представим в виде совокупности объектов, а затем напишем методы для работы с данными объектами.
Задача 1. Определить можно ли построить треугольник, зная длины трех сторон.
В данном случае мы создаем класс Treugolnik, три переменные А, В, С, которые отвечают за длину каждой стороны соответственно и метод для ввода длины каждой стороны и проверки существования треугольника.
Класс
namespace ConsoleApplication3{
class Treugolnik{
private int A;
private int B;
private int C;
public void TreugolnikLi(){
Console.Write("1 сторонатреугольника = ");
A = int.Parse(Console.ReadLine());
Console.Write("2 сторонатреугольника = ");
B = int.Parse(Console.ReadLine());
Сonsole.Write("3 сторонатреугольника = ");
C = int.Parse(Console.ReadLine());
if ((A + B > C) && (B + C > A) && (A + C > B))
{Console.WriteLine("Треугольниксуществует");}
else {Console.WriteLine("Треугольникнесуществует");}}}}
Программный код
namespace ConsoleApplication3{
class Program{
static void Main(string[] args){
Treugolnik first = new Treugolnik();
first.TreugolnikLi();
Console.ReadKey();}}}
Задача 2. Выделить в трехзначном числе каждую цифру и посчитать их сумму.
В данном случае класс TrehznachnoeChisloсодержит само число а и сумму его цифр S. Далее написан методы для выделения каждой цифры числа. Метод SummaChisel() позволяет подсчитать сумму и вывести ее значение на экран.
Класс
namespace ConsoleApplication3{
class TrehznachnoeChislo{
private int a;
private int S;
private int a1(int a)
{ return (a % 10); }
private int a2(int a)
{ return (a / 100); }
private int a3(int a)
{ return (a / 10 % 10); }
public void SummaChisel(){
Console.Write("Трехзначноечисло = ");
a = int.Parse(Console.ReadLine());
S = a1(a) + a2(a) + a3(a);
Console.WriteLine("Суммачисел = "+S); }}}
Программный код
namespace ConsoleApplication3{
class Program{
static void Main(string[] args){
TrehznachnoeChislo chislo = new TrehznachnoeChislo();
chislo.SummaChisel();
Console.ReadKey();}}}
Задача 3. Создать класс сотрудник и посчитать его оклад после повышения.
Класс NewSotrudnikсодержит информацию о сотруднике, а также метод для вывода нового значения оклада.
Класс
namespace ConsoleApplication3{
class NewSotrudnik{
private string F;
private string I;
private string O;
private string Otdel;
private double Oklad;
public void GetInfo(){
Console.Write("Фамилия: ");
F = Console.ReadLine();
Console.Write("Имя: ");
I = Console.ReadLine();
Console.Write("Отчество: ");
O = Console.ReadLine();
Console.Write("Отдел: ");
Otdel = Console.ReadLine();
Console.Write("Оклад: ");
Oklad = double.Parse(Console.ReadLine());}
private double NewOklad()
{ return (Oklad + 5000); }
public void InfoS(){
Console.WriteLine("Информацияосотруднике");
Console.Write("Фамилия: " + F + "\nИмя: " + I + "\nОтчество: " + O + "\nОтдел: " + Otdel + "\nСтарыйоклад: " + Oklad + "\nНовыйоклад: " + NewOklad());}}}
Программный код
namespace ConsoleApplication3{
class Program{
static void Main(string[] args){
NewSotrudnik first = new NewSotrudnik();
first.GetInfo();
first.InfoS();
Console.ReadKey();}}}
Таким образом, можно утверждать, что объектно-ориентированного программирование позволяет реализовывать задачи в удобном, компактном виде, изменяя различные методы в процессе работы.
Список литературы
Актуальность объектно-ориентированного программирования [Электронный ресурс]
URL: http://magazine.stankin.ru/arch/n_02/automation/art12.html (дата обращения: 01.12.2018)
Объектно-ориентированное программирование [Электронный ресурс]. URL: https://studfiles.net/preview/2224831 (дата обращения: 09.01.2019).
MSDN. Руководство по C#. [Электронный ресурс]. URL: https://docs.microsoft.com/ru-ru/dotnet/csharp (дата обращения: 01.12.2018)