- •Экзаменационный вопрос №1. Основные понятия объектно-ориентированного подхода
- •Экзаменационный вопрос №2. Объектно-ориентированная методология
- •Экзаменационный вопрос №3. Основные понятия объектно-ориентированного анализа
- •Экзаменационный вопрос № 4. Методы объектно-ориентированного анализа
- •Экзаменационный вопрос № 5. Пример объектно-ориентированного анализа
- •Экзаменационный вопрос № 6. Основные понятия объектно-ориентированного проектирования
- •Экзаменационный вопрос № 7. Основные понятия объектно-ориентированного программирования
- •Экзаменационный вопрос № 8. История объе́ктно-ориенти́рованного программи́рования
- •Экзаменационный вопрос № 9. Определение ооп и его основные концепции.
- •Экзаменационный вопрос № 10. Сложности определения ооп
- •Экзаменационный вопрос № 11. Особенности реализации ооп
- •Экзаменационный вопрос № 12. Подходы к проектированию объектно-ориентированных программ
- •Экзаменационный вопрос № 13. Компонентное объектно-ориентированное программирование
- •Экзаменационный вопрос № 14. Прототипное объектно-ориентированное программирование
- •Экзаменационный вопрос № 15. Производительность объектных программ
- •Экзаменационный вопрос № 16. Идентификация объектно-ориентированных языков
- •Экзаменационный вопрос № 17.
- •Экзаменационный вопрос № 18.
- •Экзаменационный вопрос № 19.
- •Экзаменационный вопрос № 20.
- •Экзаменационный вопрос № 21.
- •Экзаменационный вопрос № 22. Основные понятия языка ооп Delphi
- •Экзаменационный вопрос № 23. Основные понятия языка ооп Smalltalk
- •Экзаменационный вопрос № 24. Основные понятия языка ооп Java
- •Список зарезервированных слов Java:
- •Import java.Io.IoException; // подключения библиотеки ioException:
- •Int y,X,z,a,b,c,d;//объявление переменных
- •Экзаменационный вопрос № 25. Основные понятия языка ооп c#
- •Структура программы c#
- •Экзаменационный вопрос № 26 Основные понятия языка ооп Ruby
- •Основные элементы языка Ruby
- •Арифметические Операторы:
- •Структура программы на языке Ruby
- •Экзаменационный вопрос № 27 История создания Action Script
- •Основные элементы языка ActionScript
- •Структура программы на языке ActionScript
- •Экзаменационный вопрос № 28 Основные понятия языка ооп Perl
- •Основные элементы языка
- •Экзаменационный вопрос № 29. Основные понятия языка ооп php
- •Основные элементы языка рнр
- •Структура программы на языке рнр
- •Экзаменационный вопрос № 30. Основные понятия языка ооп Visual Basic
Список зарезервированных слов Java:
abstract
assert
boolean
break
byte
case
catch
char
class
const
continue
default
do
double
else
enum
extends
final
finally
float
for
goto
if
implements
import
instanceof
int
interface
long
native
new
package
private
protected
public
return
short
static
strictfp
super
switch
synchronized
this
throw
throws
transient
try
void
volatile
while
При объектно-ориентированном программировании в Java объекты определяются следующим образом:
package packageName;
import ClassNameToImport;
accessSpecifier class ClassName {
accessSpecifier dataType variableName [= initialValue];
accessSpecifier ClassName([argumentList]) {
constructorStatement(s)
}
accessSpecifier returnType methodName([argumentList]) {
methodStatement(s)
}
// Это комментарий
/* Это
многострочный
комментарий */}
Чтобы определить объект в языке Java, нужно объявить класс. Класс можно представить в качестве шаблона объектов, как формочка для печенья. Класс определяет базовую структуру объекта и во время выполнения программы создает экземпляр этого объекта. Слово объект часто используется как синоним слова класс. Строго говоря, класс определяет структуру того, что воплощается в объекте.
объявление класса:
accessSpecifier class ClassName {
accessSpecifier dataType variableName [= initialValue];
accessSpecifier ClassName([argumentList]) {
constructorStatement(s)
}
accessSpecifier returnType methodName([argumentList]) {
methodStatement(s)
}
}
Структура программы на языке Java
Import java.Io.IoException; // подключения библиотеки ioException:
public class Example2 {//создаем класс
public static void main(String[ ] args) {
Int y,X,z,a,b,c,d;//объявление переменных
System.out.println("Введите x,y,a,b,c,d");//вывод на экран сообщения
try {
a=(int)System.in.read();//считываем с клавиатуры а и т.д
b=(int)System.in.read();
c=(int)System.in.read();
d=(int)System.in.read();
} catch (IOException e) {
System.out.println("Input ERROR");
}
x=a+b;
y=c+d;
z=x+y;//вычисляем z
System.out.println("x,y,z ");//вывод вычисленных значений
}
}
Экзаменационный вопрос № 25. Основные понятия языка ооп c#
C# – объектно-ориентированный язык программирования. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.
Проект C# был начат в декабре 1998 и получил кодовое название COOL (C-style Object Oriented Language). Версия 1.0 была анонсирована вместе с платформой .NET в июне 2000 года, тогда же появилась и первая общедоступная бета-версия; C# 1.0 окончательно вышел вместе с Microsoft Visual Studio .NET в феврале 2002 года.
Первая версия C# напоминала по своим возможностям Java 1.4, несколько их расширяя: так, в C# имелись свойства (выглядящие в коде как поля объекта, но на деле вызывающие при обращении к ним методы класса), индексаторы (подобные свойствам, но принимающие параметр как индекс массива), события, делегаты, циклы foreach, структуры, передаваемые по значению, автоматическое преобразование встроенных типов в объекты при необходимости (boxing), атрибуты, встроенные средства взаимодействия с неуправляемым кодом (DLL, COM) и прочее.
Кроме того, в C# решено было перенести некоторые возможности C++, отсутствовавшие в Java: беззнаковые типы, перегрузку операторов (с некоторыми ограничениями, в отличие от C++), передача параметров в метод по ссылке, методы с переменным числом параметров, оператор goto (с ограничениями). Также в C# оставили ограниченную возможность работы суказателями — в местах кода, специально обозначенных словом unsafe и при указании специальной опции компилятору.
Основные элементы языка C#. Комментарии позволяют не только временно исключать часть кода, но и писать комментарии к функциям, классам, и.т.д прямо в коде. На этап компиляции все комментарии игнорируются, поэтому можно не беспокоится о увеличении размера или какого либо воздействия на конечный файл, так туда они не попадут.
Однострочные комментарии - "//" Эта последовательность символов, маркирует весь последующий код в строке как комментарий.
Многострочные комментарии "/*" - При помощи них можно за комментировать любой отрезок кода. Весь текст между ними, независимо от того, находится он на одной строке или нескольких, будет за комментирован.
Коментарий // - действует лишь до конца строки.
using System и не распространяется на строку ниже.
Коментарий /* - */ - неограниченный комментарий
Переменные в C# обязательно имеют тип и могут содержать только объекты этого типа (и производных).
Есть три вида переменных
значения
ссылки
указатели (это для специальных участков программы)
Знак равенства (=) называется оператором присваивания.
Типы данных
sbyte -128 до 127 З наковое 8-бит целое
byte 0 до 255 Беззнаковое 8-бит целое
char U+0000 до U+ffff 1 6-битовый символ Unicode
bool true или false 1 байт
short -32768 до 32767 Знаковое 16-бит целое
ushort 0 до 65535 Беззнаковое 16-бит целое
int -2147483648 до 2147483647 Знаковое 32-бит целое
uint 0 до 4294967295 Беззнаковое 32-бит целое
long -9223372036854775808
до 9223372036854775807 Знаковое 32-бит целое
ulong 0 до 18446744073709551615 Беззнаковое 32-бит целое
float ±1,5*10-45 до ±3,4*1033 4 байта, точность — 7 разрядов
double ±5*10-324 до ±1,7*10306 8 байт, точность —16 разрядов
decimal 12 байт, точность — 28 разрядов
Математические операции
Умножение c * d
Деление c / d
Остаток c % d
Сложение c + d
Вычитание c - d
Побитовый сдвиг вправо c >> 3
Побитовый сдвиг влево c << 3
Логические и операции сравнения
Меньше чем c < d
Больше чем c > d
Меньше или равно c < =d
Больше или равно c > = d
Равно c == d
Не равно c != d
Побитовое И c & d
Побитовое ИЛИ c | d
Логическое И c && d
Логическое ИЛИ c || d
Условный оператор (d < 10) ? 5 : 15
Оператор выбора (условный оператор if) - используется для выполнения или не выполнения некоторого оператора в зависимости от условия. Если условие истинно, то вложенный оператор выполняется.
Кроме того, может присутствовать альтернативная ветвь, которая выполняется в том случае, если условие ложно
if (a == 5)
System.Console.WriteLine("A is 5");
else
System.Console.WriteLine("A is not 5");
Еще существует операция выбора
(a == 5) ? true : false ;
Оператор ветвления
Здесь выполняется одна из альтернативных ветвей в зависимости от значения управляющего выражения
switch (nValue)
{
case 1: case 2: case 3: case 4: case 5:
Console.WriteLine("Rabbit walk through the street" );
break; // this line is necessary
}
switch (someString)
{
default: break;
case null: break;
case "leavetakings" : // two cases for code
case "greetings" :
goto default;
case "goodbye" :
goto case "leavetakings";
case "error":
// int i = 5;
// if you uncomment previous line you should get
// "control cannot fall through from one case to another"
error
case "next case":
throw new ApplicationException();
}
Отличительной возможностью C# является возможность ветвления по строкам и запрет на переход между блоками без явного на это указания (при компиляции выдается ошибка)
Есть возможность сопоставить одному блоку несколько значений (в примере - "leavetakings" и "greetings"). Есть возможность передать управление на другой блок (goto case x; goto default;).
В случае если делается ветвление по переменной типа string, значение которой равно null, а соответствующий case отсутствует, будет выполняться ветвь default (если такая есть). null - вполне полноправное значение переменной типа string и NullPointerException оператором switch выбрасываться не будет.
Циклы
В С# есть четыре вида циклов
while
do-while
for
foreach
Переменные объявленные в цикле (в том числе в заголовке цикла for и foreach) не видны снаружи цикла (так же как в стандартном C++)
while
Пока истинно условие выполняется оператор - тело цикла.
int a = 3;
while (a< 3)
{
System.Console.WriteLine(a);
a++;
}
do-while
Здесь сначала один раз выполняется тело цикла, затем проверяется условие. Если условие истинно, то выполнение тела цикла повторяется.
int a = 4;
do {
System.Console.WriteLine(a);
a++;
}
while
(a< 3)
for
Этот цикл чаще всего используют когда число повторений известно заранее.
for (int a = 0; a < 5; a ++)
{
System.Console.WriteLine(a);
}
Есть частная разновидность - бесконечный цикл - for (;;){...}
В C# рекомендуют бесконечный цикл писать как while(true){...}
foreach
Этот цикл полезен для перебора всех элементов в массиве, классах типа ArrayList и Hashtable (и вообще всех классах, реализующих IEnumerable)
int[] a = new int[]{1,2,3};
foreach (int b in a)
{ System.Console.WriteLine(b);}
При этом переменной b присваивается по очереди каждый элемент массива. Если переменная b имеет содержит непосредственно значение (а не ссылку на объект), то изменять элементы массива через нее не получится. Если же переменная b - объект, то через нее можно менять текущий элемент массива.
Операторы перехода
К операторам перехода относятся
break
continue
goto
return
throw
break
Этот оператор может стоять внутри циклов for, do-while и while, а также внутри оператора switch. Выполнение оператора break приводит к выходу из цикла или оператора switch.
continue
Этот оператор может стоять внутри циклов for, do-while и while. Выполнение оператора continue приводит к переходу на проверку условия цикла
goto
Оператор goto используется для перехода на метку и внутри оператора switch. Переходы на метку использовать не рекомендуется
int a = 0;
start: System.Console.WriteLine(a);
a++;
if(a< 5)
{ goto start;}
Зарезервированные слова в C# (Csharp)
abstract
as
base
bool
break
byte
case
catch
char
checked
class
const
continue
decimal
default
delegate
do
double
else
enum
event
explicit
extern
false
finally
fixed
float
for
foreach
goto
if
implict
in
int
interface
internal
is
lock
long
namespace
new
null
object
operator
out
override
params
private
protected
public
readonly
ref
return
sbyte
sealed
short
sizeof
stackalloc
static
string
struct
switch
this
throw
true
try
typeof
uint
ulong
unchecked
unsafe
ushort
using
virtual
volatile
void
while
Объектно-ориентированное программирование
Определение класса
Пример класса V e h i c l e может выглядеть следующим образом:
p u b l i c c l a s s V e h i c l e
{
p u b l i c s t r i n g sModel; // Название модели
p u b l i c s t r i n g sManufacturer; // Производитель
p u b l i c i n t nNumOfDoors; // Количество дверей
p u b l i c i n t nNumOfWheels; // Количество колес
}
Определение класса начинается словами p u b l i c c l a s s , за которыми идет имя
класса (в данном случае — V e h i c l e ) .
Создание объекта
Термин объект используется для обозначения "вещей". Да, это не слишком
полезное определение, так что приведем несколько примеров. Переменная типа
i n t является объектом i n t . Автомобиль является объектом V e h i c l e .
Вот фрагмент кода, создающий автомобиль, являющийся объектом V e h i c l e :
Vehicle myCar;
myCar = new V e h i c l e () ;
В терминах С# myCar— это объект класса V e h i c l e . Можно также сказать,
что myCar— экземпляр класса V e h i c l e . В данном контексте экземпляр
(instance) означает "пример" или "один из". Можно использовать этот термин
и как глагол, и говорить об инстащировании V e h i c l e — это именно то, что
делает оператор new.
