русс | укр

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

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Основными принципами ООП являются инкапсуляция, наследование и полиморфизм.

Объединение данных с функциями их обработки в сочетании со скрытием ненужной для использования этих данных информации называется инкапсуляцией (Encapsulation). Принцип инкапсуляции в ООП реализуются с помощью механизма классов. Класс это абстрактный тип данных, определяемый пользователем, который описывает общие для всех объектов этого класса свойства (данные) и поведение (функции). Использование принципа инкапсуляции

· повышает надежность программ,

· повышает степень абстракции программ,

· обеспечивает независимую разработку отдельных частей (классов) программы.

Наследование (Inheritance) – это возможность создания иерархии классов, в которой потомки (производные классы, наследники) получают элементов своих предков (родителей, базовых классов), могут их изменять и добавлять новые.

Полиморфизм (Polymorphism) - это возможность использовать в различных классах иерархии одно имя для обозначения различных по смыслу действий. Например, сложение строк – это конкатенация, а сложение бинарных строк – это бинарное сложение.

Использование принципов наследования и полиморфизма

· повышает надежность программы

· сокращает избыточность кода

· сокращает сроки разработки

· дает возможность создания библиотек классов для различных применений

Таким образом, объектно-ориентированное программирование может эффективноиспользоваться для создания больших надежных программных систем.

Объектно-ориентированный подход в программировании целесообразно применять, если требуется построить именно иерархию классов, иначе можно ограничиться модульной технологий программирования.

Основным достоинством объектно-ориентированного программирования по сравнению с модульным программированием является «более естественная» декомпозиция программного обеспечения, которая существенно облегчает его разработку. Это приводит к более полной локализации данных и интегрированию их с подпрограммами обработки, что позволяет вести практически независимую разработку отдельных частей (классов) программы. Механизмы наследования и полиморфизма позволяют конструировать сложные объекты из сравнительно простых. В результате существенно увеличивается показатель повторного использования кодов и появляется возможность создания библиотек классов для различных применений.

Кроме того, благодаря тому, что программа представляется в терминах поведения объектов, при программировании используются понятия, более близкие к предметной области, а следовательно программа легче читается и понимается.

Бурное развитие технологий программирования, основанных на объектном подходе, позволило решить многие проблемы. Так были созданы среды, поддерживающие визуальное программирование, например, Delphi, С++ Builder, Visual Studio и т. д. При использовании визуальной среды у программиста появляется возможность проектировать некоторую часть, например, интерфейсы будущего продукта, с применением визуальных средств добавления и настройки специальных библиотечных компонентов. Результатом визуального проектирования является заготовка будущей программы, в которую уже внесены соответствующие коды.

Тема 2. Структура программы на С#

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

Для создания простейшего класса в С# используют запись

class имя_класса

{список элементов};

Обычно класс содержит следующие элементы:

· поля, определяющие данные которые хранит класс (свойства объектов)

· методы, определяющие функции обработки этих данных (поведение объектов).

Синтаксис описания полей класса в С# в целом соответствует синтаксису описания переменных в языке С. Синтаксис описание методов в С# в целом соответствует – синтаксису описанию функций в языке С.

Однако работа с полями и методам класса отличается от работы с обычными переменными и функциями. Для того чтобы обратиться к любому элементу класса (полю или методу) используют операцию уточненного имени

имя_класса.имя_элемента

или

имя_объекта_класса.имя_элемента

Программист может описывать собственные классы и также может использовать стандартные классы.

Например, для ввода-вывода данных для консольных приложений в языке С# используется стандартный класс с именем Console из библиотеки классов.Net[3].

Для того чтобы использовать любой из его методов в программе необходимо использовать следующую запись:

Console.имя_метода([список параметров]).

Например, для вывода данных на экран используется метод WriteLine. Метод является переопределенным и может использоваться с разными параметрами. Для вывода строки на экран используется метод WriteLine с параметром строковой константы, например:

Console. WriteLine (“Hello, World”);

Все стандартные классы библиотеки .Net и классы, которые создает программист организованы в единую иерархическую структуру классов с одним общим предком – классом object. Внутри этой иерархии классы сгруппированы в так называемые пространства имен. Любая программа использует пространство имен System. В этом пространстве имен определены классы, обеспечивающие базовые функции программы: ввод-вывод, математические операции, управление памятью и др. Например, упомянутый выше класс Console описан именно в пространстве имен System. Для того, чтобы в программе использовать стандартный класс можно перед его именем указать через точку имя пространства имен, например,

System.Console.WriteLine("\nHello, World!\n");

Однако удобнее для использования стандартных класс в начале программы подключить соответствующее пространство имеем с помощью директивы

using Имя-простаства_имен

Например, чтобы использовать класс Console подключают пространство имен System:

using System;

В этом случае в программе можно непосредственно использовать имя класса без указания его пространства имен, например,

Console. WriteLine (“Hello, World”);

Рассмотрим простейшую программу, выводящую на экран строку Hello, world.

// Program.cs

using System;

namespace ConsoleApplication1

{

class Program

{

static void Main()

{

Console.WriteLine("\nHello, World!");

Console.ReadKey();

}

}

}

В первой строке данной программы находится однострочный комментарий. В приведенном комментарии указано имя файла, в котором хранится исходный текст программы. В С#, так же как и в языке С, комментарии задаются двумя основными способами. Для однострочных комментариев используют символы //, как в нашем примере. Для многострочных комментариев можно использовать символы /* , */, между которыми и должен находится сам текст комментария. В тексте комментария могут содержаться любые символы, а вся последовательность символов эквивалентна символу пропуска (например, символу пробела). Комментарии не могут быть вложенными. Кроме того, в языке С# есть еще один способ задания комментариев, который используется для формирования документации к программе в формате XML. Такие комментарии начинаются с символов ///.

Во второй строке программы помещена команда препроцессора (директива) using. Данная директива, как было сказано выше, подключает указанное пространство имен, в данном случае System, что позволит использовать, в частности, класс для ввода-вывода данных Console.

В третьей строке программы с помощью ключевого слова namespace создается собственное пространство имен проекта. Обратите внимание, что при создании проекта в Visual Studio это имя пространства имен будет по умолчанию совпадать с именем проекта (в этом примере ConsoleApplication1), однако его можно изменить. Собственное пространство имен проекта создается для того, что в нем можно было описывать программные объекты (например, классы) с любыми именами, не заботясь о том, что объекты с такими именами существуют в других пространствах имен. Все объекты программы в данном пространстве имен описываются внутри операторах скобок языка C# {}.

Любая программа на языке C# представляет собой набор взаимодействующих между собой классов, следовательно, должна содержать хотя бы один класс. В нашем примере описан один класс с именем Program. Обратите внимание, что при создании проекта в Visual Studio имя класса будет по умолчанию совпадать с именем файла исходного текса с расширением .cs, однако его можно изменить.

В нашем примере class Program содержит только один элемент, а именно метод с именем Main.

Каждая программа должна содержать метод с именем Main, и работа программы начинается с именно с выполнения этого метода.

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

static void Main()

Из данного заголовка видно, что тип этого метода void (спецификатор типа, указывающий, что метод не возвращает никакого значения), имя Main, а список параметров пуст. Спецификатор static означает, что данный метод класса является статическим, т.е. его можно использовать без создания объекта класса.

Тело метода определяет выполняемые в нем действия и представляет заключенную в фигурные скобки последовательность описаний и операторов. Каждое описание и оператор заканчивается символом ‘;’. В данном примере в теле метода Main нет явных описаний, а есть только два оператора:

Console.WriteLine("\nHello, World!");

Console.ReadKey();

Первый из них, как было указано выше, представляет собой вызов метода WriteLine (вывода на экран) из класса Console. В данном случае на экран выводится строка "\nHello, World!". Строковая константа в языке С# –это последовательность символов, заключенная в двойные кавычки.

Просмотров: 1274


Вернуться в оглавление



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.