kopilkaurokov.ru - сайт для учителей

Создайте Ваш сайт учителя Курсы ПК и ППК Видеоуроки Олимпиады Вебинары для учителей

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

Нажмите, чтобы узнать подробности

В данной работе были рассмотрены ключевые понятия ООП – объект и класс. Далее были описаны основные свойства объектной модели – инкапсуляция, наследование.

Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Наладить дисциплину на своих уроках.
Получить возможность работать творчески.

Просмотр содержимого документа
«Презентация классы. инкапсуляция. наследование»

Классы. Инкапсуляция. Наследование.

Классы. Инкапсуляция. Наследование.

содержание

содержание

  • Объектно - ориентированное программирование
  • Классы
  • Инкапсуляция
  • Наследование
  • Достоинства и недостатки объектно-ориентированного программирования
Объектно–ориентированное программирование

Объектно–ориентированное программирование

  • Объектно–ориентированное программирование (в дальнейшем ООП) – парадигма программирования, в которой основными концепциями являются понятия объектов и классов.
Объектно–ориентированное программирование

Объектно–ориентированное программирование

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

Классы

  • Классы и объекты – базовые понятия объектно–ориентированного программирования. В первой главе эти понятия были рассмотрены очень кратко.
  • Класс – описание множества объектов, имеющих одинаковые атрибуты и поведение.
  • Класс – абстрактный тип, на основе которого создаются объекты.
  • Фактически класс – образец (шаблон) для создания объектов.
Классы

Классы

  • Описание класса включает:
  • имя класса;
  • описание атрибутов (полей);
  • описание методов (кода, обрабатывающего эти поля).
  • описание атрибутов (полей);
  • описание методов (кода, обрабатывающего эти поля)
Уточненный вариант описания класса: Классы Class ИМЯ_КЛАССА { //описание полей ДОСТУП ТИП ПЕРЕМЕННАЯ_1; ДОСТУП ТИП ПЕРЕМЕННАЯ_2; … ДОСТУП ТИП ПЕРЕМЕННАЯ_N; // описание методов ДОСТУП ТИП_ВОЗВР_ЗНАЧЕНИЯ ИМЯ_МЕТОД1 (ФОРМАЛЬНЫЕ ПАРАМЕТРЫ)   { ТЕЛО МЕТОДА } ДОСТУП_ТИП_ВОЗВР_ЗНАЧЕНИЯ ИМЯ_МЕТОД_2 (ФОРМАЛЬНЫЕ ПАРАМЕТРЫ) { ТЕЛО МЕТОДА} … ДОСТУП ТИП_ВОЗВР_ЗНАЧЕНИЯ ИМЯ_МЕТОД_N (ФОРМАЛЬНЫЕ ПАРАМЕТРЫ) { ТЕЛО МЕТОДА} }

Уточненный вариант описания класса:

Классы

Class ИМЯ_КЛАССА {

//описание полей

ДОСТУП ТИП ПЕРЕМЕННАЯ_1;

ДОСТУП ТИП ПЕРЕМЕННАЯ_2;

ДОСТУП ТИП ПЕРЕМЕННАЯ_N;

// описание методов

ДОСТУП ТИП_ВОЗВР_ЗНАЧЕНИЯ ИМЯ_МЕТОД1

(ФОРМАЛЬНЫЕ ПАРАМЕТРЫ)

 

{ ТЕЛО МЕТОДА }

ДОСТУП_ТИП_ВОЗВР_ЗНАЧЕНИЯ ИМЯ_МЕТОД_2

(ФОРМАЛЬНЫЕ ПАРАМЕТРЫ)

{ ТЕЛО МЕТОДА}

ДОСТУП ТИП_ВОЗВР_ЗНАЧЕНИЯ ИМЯ_МЕТОД_N

(ФОРМАЛЬНЫЕ ПАРАМЕТРЫ)

{ ТЕЛО МЕТОДА}

}

  • Описание класса, содержащего только поля и методы
  • Class ИМЯ_КЛАССА {
  • ОПИСАНИЕ ПОЛЕЙ
  • ОПИСАНИЕ МЕТОДОВ
  • }
Классы

Классы

  • Пример. Описание класса, содержащего только поля
  • Описать класс «Компания»
  • Поля касса:
  • Название, количество сотрудников, месячный фонд зарплаты
  • class Company {
  • public string name; //название компании
  • public int persons; //количество сотрудников
  • public int money;// месячный фонд зарплаты
Инкапсуляция

Инкапсуляция

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

Инкапсуляция

  • Сокрытие реализации целесообразно применять в следующих случаях:
  • предельная локализация изменений при необходимости таких изменений,
  • прогнозируемость изменений (какие изменения в коде надо сделать для заданного изменения функциональности) и прогнозируемость последствий изменений.
  • Цель инкапсуляции – уйти от зависимости внешнего интерфейса класса (то, что могут использовать другие классы) от реализации.
Инкапсуляция

Инкапсуляция

  • Существует 4 вида модификаторов доступа: public , protected , private и default .
  • Public – уровень предполагает доступ к компоненту с этим модификатором из экземпляра любого класса и любого пакета.
  • Protected – уровень предполагает доступ к компоненту с этим модификатором из экземпляров родного класса и классов–потомков, независимо от того, в каком пакете они находятся.
  • Default – уровень предполагает доступ к компоненту с этим модификатором из экземпляров любых классов, находящихся в одном пакете с этим классом.
  • Private – уровень предполагает доступ к компоненту с этим модификатором только из этого класса.
Инкапсуляция

Инкапсуляция

  • public String name; – имя, которое доступное из любого места в приложении.
  • protected String surname; – фамилия доступна из родного класса и потомков.
  • private int age; – возраст доступен только в рамках класса Human.
  • int birthdayYear; – хоть не указывается явный модификатор доступа, система понимает его как default, год рождения будет доступен всему пакету, в котором находится класс Human.
  • public class Human {
  • public String name;
  • protected String surname;
  • private int age;
  • int birthdayYear;
  • }
Инкапсуляция

Инкапсуляция

  • Для разных структурных элементов класса предусмотрена возможность применять только определенные уровни модификаторов доступа.
  • Для класса – только public и default.
  • Для атрибутов класса – все 4 вида.
  • Для конструкторов – все 4 вида.
  • Для методов – все 4 вида.
Наследование

Наследование

  • Наследование – один из четырёх важнейших механизмов объектно-ориентированного программирования (наряду с инкапсуляцией, полиморфизмом и абстракцией), позволяющий описать новый класс на основе уже существующего (родительского), при этом свойства и функциональность родительского класса заимствуются новым классом.
  • Класс-наследник реализует спецификацию уже существующего класса (базовый класс).
наследование

наследование

  • Простое наследование
  • Класс, от которого произошло наследование, называется базовым или родительским (англ. base class).
  • Классы, которые произошли от базового, называются потомками, наследниками или производными классами (англ. derived class).
  • Абстрактный класс – это класс, содержащий хотя бы один абстрактный метод, он описан в программе, имеет поля, методы и не может использоваться для непосредственного создания объекта.
наследование

наследование

  • Множественное наследование.
  • Множественное наследование – потенциальный источник ошибок, которые могут возникнуть из–за наличия одинаковых имен методов в предках.
  • При множественном наследовании у класса может быть более одного предка. В этом случае класс наследует методы всех предков. Достоинства такого подхода в большей гибкости.
Интерфейс Интерфейс ( более детально будут рассмотрены в скором будущем ) – нам говорит, как должен выглядеть класс, какие методы в себе содержать, какими переменными и типами данных манипулировать. Есть класс Figure, который расширяет интерфейс Figure. В этом классе мы реализуем все методы интерфейса Figure . public class Figure implements devcolibri. Com .oop .inheritance .interfaces. Figure – с помощью ключевого слова implements мы перенимаем методы интерфейса Figure для реализации. public interface Figure {  public void draw ();  public void erase ();  public void move ();  public String getColor ();  public boolean setColor (); } Важно: в классе должны быть все методы интерфейса, тело методов можно изменить только в интерфейсе, здесь только реализация.

Интерфейс

Интерфейс ( более детально будут рассмотрены в скором будущем ) – нам говорит, как должен выглядеть класс, какие методы в себе содержать, какими переменными и типами данных манипулировать.

Есть класс Figure, который расширяет интерфейс Figure. В этом классе мы реализуем все методы интерфейса Figure .

public class Figure implements devcolibri. Com .oop .inheritance .interfaces. Figure – с помощью ключевого слова implements мы перенимаем методы интерфейса Figure для реализации.

  • public interface Figure {
  • public void draw ();
  • public void erase ();
  • public void move ();
  • public String getColor ();
  • public boolean setColor ();
  • }

Важно: в классе должны быть все методы интерфейса, тело методов можно изменить только в интерфейсе, здесь только реализация.

достоинства ООП

достоинства ООП

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

недостатки ООП

  • Неэффективность на этапе выполнения.
  • Неэффективность в смысле распределения памяти. в объектно–ориентированных программах необходимая дополнительная память выражается в одном указателе для объекта и в одном дескрипторе типа для класса .
  • Излишняя универсальность . Неэффективность также может означать, что в программе реализованы избыточные возможности.


Получите в подарок сайт учителя

Предмет: Информатика

Категория: Презентации

Целевая аудитория: Прочее.
Урок соответствует ФГОС

Скачать
Презентация классы. инкапсуляция. наследование

Автор: Куренкова Елена Рамилевна

Дата: 10.01.2022

Номер свидетельства: 597155

Похожие файлы

object(ArrayObject)#863 (1) {
  ["storage":"ArrayObject":private] => array(6) {
    ["title"] => string(101) "Презентация по теме классы, инкапсуляция, наследование"
    ["seo_title"] => string(57) "prezentatsiia_po_teme_klassy_inkapsuliatsiia_nasledovanie"
    ["file_id"] => string(6) "593347"
    ["category_seo"] => string(11) "informatika"
    ["subcategory_seo"] => string(11) "presentacii"
    ["date"] => string(10) "1638517310"
  }
}


Получите в подарок сайт учителя

Видеоуроки для учителей

Курсы для учителей

ПОЛУЧИТЕ СВИДЕТЕЛЬСТВО МГНОВЕННО

Добавить свою работу

* Свидетельство о публикации выдается БЕСПЛАТНО, СРАЗУ же после добавления Вами Вашей работы на сайт

Удобный поиск материалов для учителей

Ваш личный кабинет
Проверка свидетельства