Анатомия класса. Схожесть с др. языками   С# похож на язык Java в том, что он требует, чтобы вся программная логика была заключена в определения типов.

Slides:



Advertisements
Similar presentations
EXtreme Programming XP Тема 3. XP Пусть есть некоторая информационная система для банков. В качестве основной валюты для расчетов используется доллар,
Advertisements

What does it mean? Year 7, unit 1, lesson Ex. 1, p.17. Listen to the children and answer the questions of the exercise. 2. Ex 2, p.17. Do the exercise,
ЗАРЯДКА НА АНГЛИЙСКОМ ЯЗЫКЕ.  Зарядка на уроке английского языка может стать самым любимым и веселым занятием для детей, при том, что она проходит исключительно.
ООП Классы. Данные отдельно, методы отдельно struct Node { Node* next; void* data; }; struct List { Node* first; int size; }; void* allocate() { … } void.
Астрометрические каталоги К.В.Куимов, ГАИШ МГУ. Определение астрометрического каталога Астрометрический каталог – понятие неопределённое. Например, это.
Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 4. Реализация ПО: Проектирование с повторным использованием компонентов.
Автоматическая генерация кода программ с явным выделением состояний Канжелев С.Ю. магистрант СПбГУ ИТМО Шалыто А.А. доктор технических наук профессор СПбГУ.
Системы с наследованием. Если систему можно представить в виде : Где - непрерывные функции, то такая система называется системой с наследованием. Математическое.
Савенко Мария Олеговна, 361 группа Научный руководитель: старший преподаватель В.С.Полозов.
R1R2R3R4R5R6R7R1R2R3R4R5R6R7. Аксиома R 1. В пространстве существуют плоскости. В каждой плоскости пространства выполняются все аксиомы планиметрии.
Астащенко Александр, 445 группа Научный руководитель: В.Г.Шистеров.
Некомпенсаторное агрегирование и рейтингование студентов Авторы: Гончаров Алексей Александрович, Чистяков Вячеслав Васильевич. НФ ГУ ВШЭ 2010 год.
Учитель математики Кулакова Т.М. МОУ ООШ №15 г.о Новокуйбышевск Самарской области Сентябрь 2011г.
Типология характеров по Фрейду
Скриптовые языки на примере Perl. Языки программирования Скриптовые Программа (или ее бай-код) интерпретируется Зачастую более высокий уровень абстрагирования.
Обзор последних достижений биометрических методов аутентификации РусКрипто 2005.
ООП Классы – 2. Ссылки Ссылка – еще одно имя объекта. Используйте ссылки вместо указателя. Это более безопасно. Complex c(10,10); Complex c2& = c; c2+=10;
Особенности Java. Блок static static { } Создание и уничтожение объектов  new – создание объекта  finalyze()
Язык JavaScript Скриптовый язык для выполнения на html-страницах.
Введение в параллельные вычисления. Технология программирования MPI (день седьмой) Антонов Александр Сергеевич, к.ф.-м.н., н.с. лаборатории Параллельных.
Введение в параллельные вычисления. Технология программирования MPI (день третий) Антонов Александр Сергеевич, к.ф.-м.н., н.с. лаборатории Параллельных.
Язык SmallTalk «Чистый» объектно- ориентированный язык.
Основы цифровой обработки речевых сигналов. Общая схема процесса речеобразования x[n] – дискретные отсчеты сигнала возбуждения y[n] – дискретные отсчеты.
Ввод-вывод в C# Сериализация.
Growing Neural Gas Method Нейросетевой метод построения неструктурированных адаптивных сеток.
Сравнение различных методов хранения XML в реляционных базах данных и в разных системах. Нгуен Тхань Хуен- 545 группа Руководитель : Б.А. Новиков Рецензент:
1 Ребенок в Сети. Ребенок играет?
PHP как язык программирования. Типы данных логические величины int, integer – целые числа real, double, float – вещественные числа string – строки array.
"The European Molecular Biology Open Software Suite"
Формантный синтезатор речи. Часть 1. Полюсы и нули – иное понимание Полюс – это пара чисел (B, F), B – ширина форманты, F – частота форманты Нуль – это.
1 Влияние машинной архитектуры Структура и принципы работы компьютера На разрабатываемый язык программирования машинная архитектура влияет двояко: –непосредственно.
ВЫЧИСЛЕНИЕ В ЛИСПЕ Функциональное программирование Григорьева И.В.
Синтаксис языка Java.
Язык Java. JSP..
Пользовательские действия (custom actions) в JSP. JSTL.
Особенности языка JavaScript и его использования.
Кураева Екатерина Анатольевна, заместитель директора по УВР, учитель математики сш № 29.
Наследование и полиморфизм. «Быть» или «Иметь» а так же «Точно» или «Как получится»
1 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Java 2 Micro Edition Лаборатория информационных технологий (ИТЛаб) При поддержке фирмы.
Коллекции. Пространство имен System.Collections Наиболее простой вариант набора элементов — это массив System. Array. Он уже обладает весьма полезными.
События. События Важная роль делегатов заключается в том, что на них основана модель событий С#. Применение событий вовсе не ограничено приложениями с.
Работа с массивами в C#.
1 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Java 2 Micro Edition Лаборатория информационных технологий (ИТЛаб) При поддержке фирмы.
Обработка исключений Гудов А.М., Завозкин С.Ю
1 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Java 2 Micro Edition Лаборатория информационных технологий (ИТЛаб) При поддержке фирмы.
ВВЕДЕНИЕ В ВЫЧИСЛИТЕЛЬНУЮ МАТЕМАТИКУ Лекция 5 6 октября 2009 ВЫЧИСЛИТЕЛЬНАЯ ЛИНЕЙНАЯ АЛГЕБРА.
Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 1 Основы программирования на языке Java Пакет java.lang, синтаксический «сахар», родовые компоненты.
Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 1 Основы программирования на языке Java Обработка исключений.
XML - расширенный язык разметки Моисеевой О. Макушиной Д. (eXtensible Markup Language)
Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 1 Основы программирования на языке Java Средства ООП Java.
Visual Basic 7 Объектно-ориентированный язык программирования.
1 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Java 2 Micro Edition Лаборатория информационных технологий (ИТЛаб) При поддержке фирмы.
XML Схемы XML документов. XML Schema созданая Microsoft позволяет избавиться от DTD блоков. Основа – использование пространств имен и очень точная типизация.
Обработка исключений в C# Единая техника обнаружения ошибок времени выполнения и передачи информации о них.
«Отгадай символы Рождества»
Нескучное тестирование с pytest
1 Учебный курс Введение в JavaScript и CGI Лекция 4 Работа с графикой, гипертекстовые переходы и синтаксис языка кандидат технических наук Павел Брониславович.
Объектные интерфейсы (.NET) «Школа Инноваций InterSystems 2007»
Язык программирования C#
КРУПНЕЙШАЯ ТЕХНИЧЕСКАЯ КОНФЕРЕНЦИЯ MICROSOFT В УКРАИНЕ Metro приложения: работа с данными Краковецкий Александр, MVP/RD/PhD. DevRain Solutions.
Человеко-машинное взаимодействие Лекция 6 Мерзлякова Екатерина Юрьевна к.т.н. доцент ПМиК.
Saint Petersburg, 2011 Java Lecture Generics. Quiz ArrayList lst = new ArrayList(); Collection c = lst; lst.add("one"); lst.add(“two"); lst.add(“three");
51) [Serializable] public class UserPrefs { public string WindowColor; public int FontSize; } 52) Листинг static void Main(string[] args) { UserPrefs.
Anekdot ANDROID CLUB Сегодня  Navigation Drawer  CardView  Calligraphy  TextToSpeech.
Jokes Jokes Jokes Teacher: Where's your text book? Student: At home. Teacher: What's it doing there? Student: Having a.
JavaScript
class PrintOnetoTen { public static void main(String args[]) {
Сортировка, поиск и фильтрация данных в базе данных и выборках
Presentation transcript:

Анатомия класса. Схожесть с др. языками   С# похож на язык Java в том, что он требует, чтобы вся программная логика была заключена в определения типов   В отличие от С (и C++) глобальные функции и глобальные переменные в чистом видев С# использовать нельзя.

Определение простейшего класса в С# using System: class HelloClass { public static int Main(string[] args) { Console.WriteLine ("Hello, World"); return 0; }

Определение простейшего класса в С# ключевое слово publiс в определении метода означает, что этот метод будет доступен извне, а ключевое слово statiс говорит о том, что этот метод выступает как класс, а не как отдельный объект и будет доступен,когда еще не создано ни одного экземпляра объекта данного класса.

Объявление Main() public static void Main (string[] args); public static void Maln() { public static int Maln() }

Обработка параметров строки using System; class HelloClass { public static int Main (string[] args) { for(int x=0; x < args. Length; x++) {

Обработка параметров строки Console. WnteLine(“'Arg: {0}", args[x]): } Console. WriteLine("Hello. World!"); return 0; }}

Создание объектов: конструкторы «Класс» и «объект» - два разных понятия. В отличие от класса объектом называется конкретный экземпляр определенного класса, с помощью которого обычно и производятся определенные действия. Для создания объекта используется слово «new»

Создание объектов: конструкторы Using System; class HelloClass { public static int Main(string[] args) { HelloClass cl = new HelloClassO; HelloClass c2; с2 = new HelloClassO; return 0; } }

конструкторы using System; class HelloClass { public HelloClass() { Console.WriteLine(“Default ctor called!") } public HelloClass(int x, int у) {

конструкторы Console.WriteLine("Custom ctor called!"); intX = x; intY = y; } public int intX, intY; public static int Main(string[] args)

конструкторы { HelloClass c1 = new HelloClass(); Console.WriteLine("c1.intX = {0)\nc1.intY = {1}\n", c1.lntX, c1.intY); HelloClass с2 = new HelloClass(100, 200); Console.WnteLine("c2.intX = {0}\nc2.intY = {l}\n", c2.intX. c2.intY); return 0;

Инициализация членов можно инициализировать переменные пря- мо в момент их объявления: class Text { private int Mylnt = 90; private string MyString = "My initial value"; private HotRod viper = new HotRod {200, "Chucky“, Color.Red); }

Ввод и вывод В большинстве созданных нами приложений использовался класс System. Console — один из многих классов, определенных внутри пространства имен System. Главные методы класса Consolе — это методы ReadLine() и WriteLlne() (оба этих метода определены как статические).

Средства форматирования строк в С# using System; class BasicIO() { public static void Main(string[] args) { int thelnt = 90:

Средства форматирования строк в С# float theFloat = 9.99; BasicIO my10 - new BasicIO(); Console.WnteLine( “Int is: {0}\nFloat is: {1}\nYou are: {2}”, thelnt, theFloat, mylO.ToStringO): }

Средства форматирования строк в С# В каждом подстановочном выражении при желании можно использовать параметры форматирования, представленные в табл.

Средства форматирования строк в С#   С или с   D или d   Е или е   Используется для вывода значений в денежном (currency) формате. По умолчанию перед выводимым значением подставляется символ доллара ($), хотя можно отменить подстановку этого символа при помощи объекта NumberFormatlnfo   Используется для вывода десятичных значений. После этого символа можно указать количество выводимых символов после запятой   Для вывода значений в экспоненциальном формате

Средства форматирования строк в С#   F или f   G или g   N или п   X или х   Вывод значений с фиксированной точностью   Общий (general) формат. Применяется для вывода значений с фиксированной точностью или в экспоненциальном формате   N или n Стандартное числовое форматирование с использованием разделителей (запятых) между разрядами   Вывод значений в шесгнадцатеричном формате. Если вы использовали прописную X, то буквенные символы в шестнадцатеричных символах также будут прописными

Структурные типы. Разрядность всех встроенных типов фиксирована и постоянна. К структурными типам относятся все числовые типы данных (int, float и пр.), а также перечисления и структуры. Память для структурных типов выделяется из стека. При присвоении одного структурного типа другому присваивается его побитовая копия.

Ссылочные типы Ссылочные типы (классы и интерфейсы) ведут себя совершенно по-другому. Память для них выделяется не в стеке, а в области управляемой кучи. При копировании ссылочного типа создается еще одна ссылка, которая указывает на ту же область оперативной памяти.

Сравнение типов ВопросСтруктурныеСсылочные РазмещениеВ области стекаВ области управляемой кучи Представление переменной В виде локальной копии типа В виде указателя на область опер памяти Может выступать как базовый? Нет. Структурные типы всегда закрыты и дополнение их другими свойствами нет Да, если этот ссылочный тип не определен внутренне какзакрытый

Сравнение типов Передача параметров Как значений (то есть передаются только локальные копии значений переменных) Как ссылок Переопределение Переопределение Object. Finalize() Нет. Структурные типы никогда не размещаются в куче, и поэтому к ним не применяется функция завершения Да, но не напрямую Существует ли контруктор Да, все должны принимать параметры Конечно!

System Object Все типы данных от него. Главные методы объекта System.Object:   EqualsQ для сравнения объектов ссылочных типов, но не структурных. 2. GetHashCode{) Возвращает целочисленное значение, идентифицирующее конкретный экземпляр объекта данного типа 3. GetTypeC) Метод возвращает объект Туре(), полностью описывающий тот объект, из которого метод был вызван.

4.ToStringQ Возвращает символьное представление объекта в формате. 5. Finalize() Освободить все ресурсы, занятые объектом данного класса, перед удалением этого объекта. 6. MemberwiseCloneQ создания еще одной ссылки на область, занимаемую объектом данного типа в оперативной памяти. Этот метод не может быть замещен.

Упаковка и распаковка Предположим, что у нас есть переменная простого структурного типа данных — short: // Создаем переменную типа short и присваиваем ей значение short s = 25; Процесс упаковки: // Упаковываем переменно s: object objShort = s: Упаковка — это процесс явного преобразования структурного типа в ссылочный.

Обратная распаковка объекта short anotherShort = (short)objShort; Распаковка —это преобразование ссылки на объект в оперативной памяти обратно в структурный тип.