Современные среды программирования. Лекции, практики(22203, 22205): Горинов Николай Александрович Практики 22203, 22204: Ченин Алексей Александрович 22208:

Презентация:



Advertisements
Похожие презентации
1 Лекция 13 ОСНОВНЫЕ ПОНЯТИЯ ЯЗЫКА Visual Basic For Applications (VBA) План лекции Типы данных VBA Операции над данными VBA Описание типов данных VBA Имена.
Advertisements

Язык программирования C# Дмитрий Сошников
ФИЛОСОФИЯ.NET Любому современному программисту, который желает идти в ногу с последними веяниями, каждые несколько лет приходится переучиваться.
Проект Три шара Постановка задачи : Дано число N – количество вызовов функции, которая возвращает шар одного из трех цветов : красный, синий или желтый.
©Павловская Т.А. (СПбГУ ИТМО) Курс «С#. Программирование на языке высокого уровня» Павловская Т.А.
Синтаксис языка Java. Символы и синтаксис Перевод строчки эквивалентен пробелу Регистр в именах различается.
Обобщения ( generics) Обобщения – это классы, структуры, интерфейсы и методы, в которых некоторые типы сами являются параметрами. Эти типы перечисляются.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 7 Методы как средство реализации операций Лекции читает кандидат технических наук.
Язык C++ Лекция 2. Недостатки enumов Засорение namespaceа, в котором находится enum Соответственно, члены enumа должны иметь уникальный префикс.
CобытияCобытияСобытия События представляют собой механизм, посредством которого объект имеет возможность получать информацию о происходящем вне него. Объявление.
Перегрузка операторов x = a + b результат 1-й операнд2-й операнд оператор По количеству операндов операторы делятся на: унарные (один операнд) бинарные.
Высокоуровневые методы информатики и программирования Лекция 10 События.
1 Умение мыслить объектно (проектирование архитектуры) Культура кодирования Знание языка и технологий Знание языка и технологий Понимание процесса Задача.
Высокоуровневые методы информатики и программирования Лекция 14 Интерфейсы.
Наследование Наследование – это отношение является между классами. class Person { string first_name; int birth_year;... } class Student : Person { float.
Процедуры и Функции Подпрограмма, задаваемая с помощью ключевого слова Sub (subprogram), называется процедурой, а с помощью ключевого слова Function -
Классы в С#. Перечисления С# Перечисление задает конечное множество возможных значений, которые могут получать объекты класса перечисление. [атрибуты][модификаторы]
Делегаты Как созданные объекты могут посылать сообщения тем объектам, которые их породили? При программировании под Windows на С и C++ основное средство.
Веб-технологии и современные средства разработки УЦ ВГТУ & SoftLine Academy.
Click to edit Master title style IDK1011 Основы программирования Синтаксис языка программирования Visual Basic.
Транксрипт:

Современные среды программирования. Лекции, практики(22203, 22205): Горинов Николай Александрович Практики 22203, 22204: Ченин Алексей Александрович 22208: Матюхин Евгений Петрович Домашняя страница:

Список полезных источников Литература на домашней странице курса.

Интерфейс – класс, состоящий из определений функций. Пространство имен – именованная область определения переменных, типов, констант.

Архитектура.NET Язык прграммирования (C#, VB.NET, пр.) CLR (Common Language Runtime) Машинные коды Компилятор языка Just-in-time compiler

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

Недостатки.NET Низкая производительность Требовательность к памяти Необходимость аккуратного проектирования для своевременного освобождения ресурсов (периферия, пр.)

.NET Framework class library System.Collections System.Data System.Drawing System.IO System.Windows.Forms ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_fxnetstart /html/50c4d770-0bb4-4e6a-bcf0-966bc7a3de77.htm

Типы данных

Value typeReference type СодержитзначениеСсылку Управление памятью стеккуча ПрисваиваниеКопирует значение int a=3; int b =a; Копирует ссылку string a = abc; string b = a; 3 3 a b a b abc

Сравнение ключевых слов. Объявление переменной. Visual Basic Dim x As Integer Public x As Integer = 10 C++ int x; int x = 10; C# int x; int x = 10; ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_vsref/html/7c0efba1-45d bdca3b899a6.htm

Сравнение языков. Комментарии. Visual Basic ' comment x = 1 ' comment Rem comment C++ // comment x = 1; // comment /* multiline comment */ C# // comment x = 1; // comment /* multiline comment */ ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_vsref/html/7c0efba1-45d bdca3b899a6.htm

Сравнение ключевых слов. Создание экземпляра класса. Visual Basic Dim x As MyClass = New MyClass Dim x As New MyClass Dim x As New MyClass(100) C++ MyClass *x = new MyClass(); MyClass *x = new MyClass(100); C# MyClass x = new MyClass(); MyClass x = new MyClass(100); ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_vsref/html/7c0efba1-45d bdca3b899a6.htm

Сравнение ключевых слов. Объявление массива. ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_vsref/html/7c0efba1-45d bdca3b899a6.htm ЗадачаC++C#VB.NET Объявление массива Int a[5];Int [ ]x = new int[5];Dim x As integer() = new integer(5) Dim x(5) As integer Инициализация массива Int a[3] = {1,2,3}; Int [ ]x = new int[3] = {1,2,3}; Dim x() As integer = {1,2,3} Переопределе- ние массива. --ReDim [Preserve]

Сравнение ключевых слов. ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_vsref/html/7c0efba1-45d bdca3b899a6.htm ЗадачаC++C#VB.NET Объявление константыconstConst readonly Const Создание экземпляра класса new New Ссылка на экземпляр самого себя this Me Значение ссылки, не ссылающейся на объект null Nothing Проверка переменной на существование ссылки на объект Obj == null Obj is nothing

Сравнение ключевых слов. Модификаторы области видимости. C#VB.NET Видимый только внутри класса Private Невидимый вне сборкиInternalFriend Видимый внутри класса и его потомков Protected Видимый внутри сборки и потомков класса Protected internal Protected friend Видимый всемPublic

Определение класса. Visual Basic [ ] class [inherits ] [implements [, …]] End class C# [ ] class [:,, …] { }

Visual Basic public class MyClass inherits MyBaseClass implements IMyInterface End class C# public class MyClass : MyBaseClass, IMyInterface { } Пример определения класса.

Определение метода. Visual Basic [shared] sub ([ { ByRef | ByVal } As ][, прочие параметры]) End Sub C# [static] void ( [{ ref | out }] [, прочие параметры]) { }

Пример определения метода. Visual Basic Public shared sub Test(ByVal i as integer, ByRef c as char, ByRef q as integer()) … End sub Dim I as integer : Dim c as char = q : Dim q as integer() Test(I, c, q) C# Public static void Test(int i, ref char c, out int[] q) { … } Int I; char c = q; int[] q; Test(I, ref c, out q);

Определение метода, возвращающего значение. Visual Basic [shared] function ([параметры]) [As ] return End Function C# [static] ([параметры]) { return ; }

Пример определения метода. Visual Basic Public shared sub Test(ByVal i as integer, ByRef c as char, ByRef q as integer()) … End sub Dim I as integer : Dim c as char = q : Dim q as integer() Test(I, c, q) C# Public static void Test(int i, ref char c, out int[] q) { … } Int I; char c = q; int[] q; Test(I, c, q);

Сравнение ключевых слов. ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_vsref/html/7c0efba1-45d bdca3b899a6.htm ЗадачаC++C#VB.NET Переопределить метод-overrideOverrides Метод должен быть переопределен AbstractabstractMustOverride Не может быть переопределен SealedsealedNotOverridable Метод, который может быть переопределен Virtual Overridable Спрятать метод-newShadowing

Пример перегрузки метода. Visual Basic Public class A Public sub Test(ByVal i as integer, ByRef c as char) End class Public class B inherits A Public overloads sub Test(ByVal i as integer) End class C# Public class A { Public void Test(int i, ref char c) } Public class B : A { public void Test(int i) }

Пример переопределения метода. Visual Basic Public class A Public overridable sub Test(ByVal i as integer, ByRef c as char) End class Public class B inherits A Public overrides sub Test(ByVal i as integer, ByRef c as char) End class C# Public class A { Public virtual void Test(int i, ref char c) } Public class B : A { public override void Test(int I, ref char c) }

Пример переопределения метода. Visual Basic Public class A Public overridable sub Test(ByVal i as integer, ByRef c as char) End class Public class B inherits A Public overrides sub Test(ByVal i as integer, ByRef c as char) End class C# Public class A { Public virtual void Test(int i, ref char c) } Public class B : A { public override void Test(int I, ref char c) }

Определение свойства Visual Basic [readonly] property [As ] Get … return End Get [Set(ByVal value As ) End Set End Property C# [readonly] { get {... rerturn ; } [set { … }] }

Пример определения свойства Visual Basic Dim _qwerty As Integer Public Property qwerty() As Integer Get Return _qwerty End Get Set(ByVal value As Integer) _qwerty = value End Set End Property C# int _qwerty; public int qwerty { get { return _qwerty; } set { _qwerty = value; }

Сравнение управляющих конструкций. ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_vsref/html/7c0efba1-45d bdca3b899a6.htm C++C#VB.NET If ( ) … [else …] If ( ) … [else …] If then … [else …] End if Switch ( ) { case : … break; default: … } Switch ( ) { case : … break; default: … } Select case Case … case else … End select

Сравнение управляющих конструкций. ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_vsref/html/7c0efba1-45d bdca3b899a6.htm C++C#VB.NET While (условие) { … } While (условие) { … } While условие … End while do { … } while ; do { … } while ; do … loop while For( ; ; ) …; For( ; ; ) …; For = to … Next -Foreach ( in ) …; For each in … Next

Делегаты Делегат = тип метода C#VB.NET Объявление типа делегата. Delegate Notifier (string sender);Delegate sub Notifier (ByVal sender As string) Создание переменной делегата. Notifier note;Dim note as Notifier Связывание делегата с методом. Void SayHello (string Sender) { Console.WriteLine(Sender); } note = new Notifier(SayHello); Sub SayHello (ByVal Sender As string) Console.WriteLine(Sender) End sub Note = new Notifier(AddressOf SayHello) Вызов делегатаNote(Hello, from Vasya);Note(Hello, from Vasya)

Делегаты Значение переменной делегата может быть нулевым. При нулевом значении вызов не может быть осуществлен. Обрабатываются как обычные объекты с данными.

Операторы приведения типов VB: CType(, ) при невозможности приведения произойдет исключение. C#: ( ) //при невозможности приведения произойдет исключение. As //при невозможности приведения вернет null

MS Visual Studio 2005 Поддержка нескольких языков Подсветка синтаксиса Дизайнер форм, поддержка визуального наследования Отладка приложений Средства рефакторинга и навигации в коду Средства модульного тестирования