- •Раздел 1 программирование || объектно-ориентированное программирование
- •Раздел 1 программирование || объектно-ориентированное программирование
- •9. Создание и обработка исключений на пример с#.
- •1. Общая структура программы на языке с. Роль и задача заголовочных файлов.
- •3. Принципы работы операторов ветвления и циклов, на примере языка с. (проверить)
- •(Проверить, не доделан)
- •Стандартные функции динамического выделения памяти
- •Динамическое выделение памяти для одномерных массивов
- •Динамическое выделение памяти для двумерных массивов
- •N·m·(размер элемента)
- •Умные указатели
- •Класс auto_ptr
- •Класс shared_ptr
- •New/delete и классы
- •Альтернативы new/delete
- •6. Понятие класса, типы классов, члены классов, на примере языка с#.
- •7. Перегрузка операторов и функций на примере языка с#. (проверить, не доделан)
- •9. Создание и обработка исключений на пример с#.
- •11. Стандартные типы данных языка с, операции над ними.
- •12. Стандартные типы данных языка с#, операции над ними.
- •Abstract Class Example:
- •Динамическое приведение указателя
- •Динамическое приведение ссылки
- •Const_cast — константное приведение типов данных
- •Reinterpret_cast — операция приведения типов данных
- •Неявные преобразования
- •Явные преобразования
- •Исключения преобразования типов во время выполнения
- •17. Понятие класса Object в языке c#.
- •Особенности производительности
- •18. Понятие коллекции и принцип работы в с#.
- •(Http://professorweb.Ru/my/csharp/charp_theory/level12/12_1.Php)
- •Раздел 2 базы данных
- •Раздел 2 базы данных
- •Раздел 2 базы данных
- •1. Файловые формы хранения данных. Преимущества и недостатки
- •2. [Done] Сетевые формы хранения данных. Преимущества и недостатки
- •3. Языки разметки как структуры хранения. Преимущества и недостатки
- •4. [Done] Основные понятия реляционных бд и используемая терминология
- •5. Модель данных – определение, реализация в разных формах хранения.
- •6. [Done] Многоуровневая архитектура бд. Субд, ее назначение.
- •7. [Done] Реляционные ключи – назначение, типы, примеры применения
- •8. [Done] Оператор select – формат, последовательность обработки
- •9. Теоретико-множественное описание и характеристические функции отношений. Аксиомы Армстронга
- •10. [Done] Содержание процесса нормализации бд
- •11. [Done] Содержательная трактовка первой нормальной формы бд
- •1Nf tables as representations of relations
- •12. [Done] Содержательная трактовка второй нормальной формы бд
- •13. Унарные операции реляционной алгебры
- •14. Бинарные операции реляционной алгебры
- •15. [Done] Классификация и содержательный смысл различных операций соединения
- •16. [Done]Особенности применения конструкций where, order by, group by, having и агрегирующих функций в языке sql
- •17. [Done] Подзапрос в языке sql: типы, особенности применения
- •18. [Done] Процедурные расширения языка sql – курсоры, подпрограммы, триггеры.
- •19. [Done] Механизм представлений в языке sql
- •20. [Done] Средства поддержки целостности данных в языке sql
- •Раздел 3 операционные системы || администрирование в операционных системах linux
- •Раздел 4 основы проектирования информационных систем || практические вопросы автоматизации предприятий
- •Раздел 4 основы проектирования информационных систем || практические вопросы автоматизации предприятий
- •1. Понятие автоматизации. Основные термины и определения. Цели автоматизации. Основные требования к автоматизации. Процессы автоматизации.
- •3. Анализ объекта автоматизации. Понятие методологии анализа объекта автоматизации. Основные методологии анализа.
- •4. Стандартизация систем. Классификация ис.
- •Раздел 5 анализ и проектирование на uml
- •Раздел 6 теория систем и системный анализ || теория информационных процессов и систем
- •1. Определения системы. Классификации систем, место ит-систем в этих классификациях.
- •2. Основные закономерности систем. (Лекции Гусаровой)
- •3. Модели систем – определение, классификации, содержательные примеры. (лекции Гусаровой)
- •4. Связи в системах – определение, классификации, содержательные примеры.
- •5. Связи в информационных моделях систем – реляционные, онтологические, по управлению; их особенности и содержательные примеры.
- •6. Процессы в теории систем – определения, примеры, содержательная трактовка (Лекции Гусаровой)
- •7. Основные информационные процессы – определения, содержательная трактовка, примеры.
- •8. Процесс обработки данных. Основные постановки задач. Классификация методов реализации процесса обработки данных
- •9. Задачи машинного обучения в обработке данных. Примеры содержательной постановки
- •10. Основные понятия машинного обучения – решающая функция, метод обучения, функция потерь, переобучение. Содержательные примеры.
- •11. Методы регрессионного анализа в обработке данных.
- •12. Статистические методы классификации в обработке данных.
- •13. Метрические методы классификации в обработке данных.
- •14. Линейные методы классификации в обработке данных.
- •15. Нейросетевые методы в обработке данных.
- •16. Методы кластерного анализа в обработке данных.
- •17. Отбор признаков-регрессоров в обработке данных
- •18. Метод главных компонент и его модификации в обработке данных
- •19. Сингулярное разложение матриц в обработке данных
- •Раздел 7
17. Понятие класса Object в языке c#.
(Туривный С.)
Object Поддерживает все классы в иерархии классов .NET Framework и предоставляет низкоуровневые службы для производных классов. Он является исходным базовым классом для всех классов платформы .NET Framework и корнем иерархии типов.
Обычно в языках программирования не требуется объявлять класс наследником Object, так как наследование происходит неявно.
Так как все классы в платформе .NET Framework являются производными класса Object, все методы, определённые в классе Object, доступны для всех объектов в системе. В производных классах могут переопределяться (и переопределяются) некоторые из этих методов, включая перечисленные ниже:
Equals — поддерживает сравнение объектов.
Finalize — выполняет операции очистки перед автоматической утилизацией
объекта.
GetHashCode — создаёт число, соответствующее значению объекта, обеспечивающее возможность использования хэш-таблицы.
ToString — создаёт понятную для пользователя строку текста, в которой описывается экземпляр класса.
Особенности производительности
При проектировании таких классов, как коллекция, в которой должны обрабатываться любые типы объектов, можно создать члены класса, принимающие экземпляр классаObject. Однако процесс упаковки-преобразования и распаковки-преобразования типа приводит к снижению производительности. Если известно, что новый класс будет часто обрабатывать значения определенных типов, для минимизации снижения производительности в результате упаковки-преобразования можно прибегнуть к одной из двух тактик.
Создать общий метод, который принимает тип Object и набор перегруженных метода для определенного типа, которые принимают каждый тип значения предполагается, что класс часто для обработки. При наличии особого метода для определенного типа, принимающего тип параметра вызова, вызывается этот особый метод, и упаковка-преобразование не происходит. Если у метода нет аргумента, совпадающего по типу с параметром вызова, вызывается общий метод и выполняется упаковка-преобразование.
Создайте пользовательский тип и его члены для использования универсальных шаблонов. Среда CLR при создании экземпляра класса создает закрытый универсальный тип и задает для него аргумент. Универсальный метод задается для определенного типа и его можно вызывать без упаковки-преобразования и параметра вызова.
Хотя иногда нужно разрабатывать именно классы общего назначения, принимающие и возвращающие типы Object, для повышения производительности можно также создать особые классы для конкретных часто используемых типов. Например, создав особый класс, задающий и возвращающий логические значения, можно избежать затрат на упаковку-преобразование и распаковку-преобразование значений такого типа.
В следующем примере кода определяется производный от класса Object тип Point, и осуществляется переопределение множества виртуальных методов класса Object. Кроме того, в этом примере показывается, как вызывать многие из статичных методов и методов экземпляра класса Object.
using System; // The Point class is derived from System.Object. class Point { public int x, y; public Point(int x, int y) { this.x = x; this.y = y; } public override bool Equals(object obj) { // If this and obj do not refer to the same type, then they are not equal. if (obj.GetType() != this.GetType()) return false; // Return true if x and y fields match. Point other = (Point) obj; return (this.x == other.x) && (this.y == other.y); } // Return the XOR of the x and y fields. public override int GetHashCode() { return x ^ y; } // Return the point's value as a string. public override String ToString() { return String.Format("({0}, {1})", x, y); } // Return a copy of this point object by making a simple field copy. public Point Copy() { return (Point) this.MemberwiseClone(); } } public sealed class App { static void Main() { // Construct a Point object. Point p1 = new Point(1,2); // Make another Point object that is a copy of the first. Point p2 = p1.Copy(); // Make another variable that references the first Point object. Point p3 = p1; // The line below displays false because p1 and p2 refer to two different objects. Console.WriteLine(Object.ReferenceEquals(p1, p2)); // The line below displays true because p1 and p2 refer to two different objects that have the same value. Console.WriteLine(Object.Equals(p1, p2)); // The line below displays true because p1 and p3 refer to one object. Console.WriteLine(Object.ReferenceEquals(p1, p3)); // The line below displays: p1's value is: (1, 2) Console.WriteLine("p1's value is: {0}", p1.ToString()); } } // This code example produces the following output: // // False // True // True // p1's value is: (1, 2) //
(https://msdn.microsoft.com/ru-ru/library/system.object(v=vs.110).aspx)
