состояние обьекта это сумма его свойств
одно из свойств поменялось то изменилось состояние
поведение обьекта это все методы обьекты
поведение это все методы по измению состояния обьекта
функциональная парадигма это все функционал наприме если интернет провайдер то это функция доступа к интернету
основной поток выполнения
ооп нужно в основном для декомпозиция задач то есть разбиения дробления задачи и понимание из чего состоять должна программа
ну и для проектирования архитектуры
в ООП по сути чтобы пожрать надо женится на обьекте жена который имеет методы и свойства " готовить похавать "
сигнатура метода
животного просто не бывает это тип
оно дышит но по разному
оно точно дышит
как оно делает это
абстрактный метод это - в родителе описан но не задан как работает
абстрактный класс это - абстрактные методы могут быть только в классе который мы не можем инстранцировать а эти класс называются абстрактными
если хотя бы один метод в java не может быть инстанцирован то это класс будет абстрактным - экземпляр этого класса создать нельзя
- - - new this_class нельзя сделать если не пометить его как abstract
иначе не скомпилится
java поддерживает множественные интерфейсы
например есть дерево обьектов например где часть их можно передать по сети а часть нет и имплементируем интерфейс и передавать только те кто нужный интерфейс имплементируют
понятие интерфейс которого нет в Cи есть в java
интерфейс это класс у которого все методы абстрактны
сигнатура метода это все обьявления и реализация
название
возвращаемое значение
параметры
какой экспепшен
иерархия наследовани нужна чтобы избежать дублирования кода и должна строится снизу
три принципа ооп
1 ) энкапсуляция - состояние обьекта должно быть защищено от изменения из вне и изменение должно производится только с помощью методов самого обьекта
2 ) наследование - обьект может наследовать такие же методы и поведения от родителя
java не поддерживает множественное наследование
- при большом дереве наследования очень сложно понять каким будет обьект и его свойства и методы
- если виджет показа температуры наследуется от класс термометр то при
попытке создания проги которая считает количество термометров на складе то посчитает виджет как термометр и ошибки не выдаст так как виджет является термометром ибо наследник термометра а если в виджете еще и часы показывать надо то будет и часами и термометром
а правильнее было бы вызвать нужный метод из термометра и показать в виджете так же и с часами вызвать нужный метод часов
- постоянное наследование всех от всего жутко захламляет код
там где нужно то стоит заменять наследование делегированием
3 ) полиморфизм возможность
обращатся со всеми наследниками
так буд то они пренадлежат классу предка
в класс энимал сложили все кот рыбы птички и сказали им двигатса
и все они пошли рыбы поплыли кошки пошли птички полетели
соблюдение контракта и нарушение контракта
linker - сборщик и собирает все классы и все предкомпилируемое вместе
compiler - переводити в исполняемый код
java2me для мелких мобилок
java2se стандартная редакция
java2ee набор интерфейсов которые входят в имплементацию server app
weblogic websphere glassfish jboss
java garbage collector
ссылка и указатель по сути одно и тоже
инстанс создается через new my_class
сделали $B = new b
экземпляр класса появился и появилась на него ссылка и память дадена
и в переменную смохранился экземпляр класса
переопределять методы в обьекте или экземпляре класса нельзя
если еще раз сделали $B = new b то будет еще один экземпляр
и снова память выделится и создатся еще одна ссылка
сборщик мусора срабатывает и убирает обьекты
либо по выходу из блока указания
либо по удалению переменной
также когда исчезает последующая ссылка на обьект
java heap - область памяти где в java хранятся все обьекты ( куча )
выделяется память при старте jvm
увеличит можно через конфиг jvm или коммандную строку xmxmax mem
желательно отдавать больше чтобы место под обьекты в куче не кончилось
но если таки место кончится то сборщик мусора будет должен держать приложение остановленным так как требуется больше времени для того чтобы просмотреть весь выделенный обьем памяти
java heap и в ней выделяется место под обьекты
garbage collector stand by mode - сборщик мусора переключается в этот режим когда память выделеннаяф для кучи заканчивает тогда сборщик мусора останавливает приложение смотрит все ссылки и удаляет не связанные обьекты
system метод gc но может не сработать руками стартуем сборщик
оптимизация приложения
1 ) пишем красивый код а потом смотрим производительность
если устраивает то прекращать оптимизировать
2 ) запускаем профайлер и смотрим в ищем точку которая тормозит
устраняем и если устраивает то прекращать оптимизировать
одно из свойств поменялось то изменилось состояние
поведение обьекта это все методы обьекты
поведение это все методы по измению состояния обьекта
функциональная парадигма это все функционал наприме если интернет провайдер то это функция доступа к интернету
основной поток выполнения
ооп нужно в основном для декомпозиция задач то есть разбиения дробления задачи и понимание из чего состоять должна программа
ну и для проектирования архитектуры
в ООП по сути чтобы пожрать надо женится на обьекте жена который имеет методы и свойства " готовить похавать "
сигнатура метода
животного просто не бывает это тип
оно дышит но по разному
оно точно дышит
как оно делает это
абстрактный метод это - в родителе описан но не задан как работает
абстрактный класс это - абстрактные методы могут быть только в классе который мы не можем инстранцировать а эти класс называются абстрактными
если хотя бы один метод в java не может быть инстанцирован то это класс будет абстрактным - экземпляр этого класса создать нельзя
- - - new this_class нельзя сделать если не пометить его как abstract
иначе не скомпилится
java поддерживает множественные интерфейсы
например есть дерево обьектов например где часть их можно передать по сети а часть нет и имплементируем интерфейс и передавать только те кто нужный интерфейс имплементируют
понятие интерфейс которого нет в Cи есть в java
интерфейс это класс у которого все методы абстрактны
сигнатура метода это все обьявления и реализация
название
возвращаемое значение
параметры
какой экспепшен
иерархия наследовани нужна чтобы избежать дублирования кода и должна строится снизу
три принципа ооп
1 ) энкапсуляция - состояние обьекта должно быть защищено от изменения из вне и изменение должно производится только с помощью методов самого обьекта
2 ) наследование - обьект может наследовать такие же методы и поведения от родителя
java не поддерживает множественное наследование
- при большом дереве наследования очень сложно понять каким будет обьект и его свойства и методы
- если виджет показа температуры наследуется от класс термометр то при
попытке создания проги которая считает количество термометров на складе то посчитает виджет как термометр и ошибки не выдаст так как виджет является термометром ибо наследник термометра а если в виджете еще и часы показывать надо то будет и часами и термометром
а правильнее было бы вызвать нужный метод из термометра и показать в виджете так же и с часами вызвать нужный метод часов
- постоянное наследование всех от всего жутко захламляет код
там где нужно то стоит заменять наследование делегированием
3 ) полиморфизм возможность
обращатся со всеми наследниками
так буд то они пренадлежат классу предка
в класс энимал сложили все кот рыбы птички и сказали им двигатса
и все они пошли рыбы поплыли кошки пошли птички полетели
соблюдение контракта и нарушение контракта
linker - сборщик и собирает все классы и все предкомпилируемое вместе
compiler - переводити в исполняемый код
java2me для мелких мобилок
java2se стандартная редакция
java2ee набор интерфейсов которые входят в имплементацию server app
weblogic websphere glassfish jboss
java garbage collector
ссылка и указатель по сути одно и тоже
инстанс создается через new my_class
сделали $B = new b
экземпляр класса появился и появилась на него ссылка и память дадена
и в переменную смохранился экземпляр класса
переопределять методы в обьекте или экземпляре класса нельзя
если еще раз сделали $B = new b то будет еще один экземпляр
и снова память выделится и создатся еще одна ссылка
сборщик мусора срабатывает и убирает обьекты
либо по выходу из блока указания
либо по удалению переменной
также когда исчезает последующая ссылка на обьект
java heap - область памяти где в java хранятся все обьекты ( куча )
выделяется память при старте jvm
увеличит можно через конфиг jvm или коммандную строку xmxmax mem
желательно отдавать больше чтобы место под обьекты в куче не кончилось
но если таки место кончится то сборщик мусора будет должен держать приложение остановленным так как требуется больше времени для того чтобы просмотреть весь выделенный обьем памяти
java heap и в ней выделяется место под обьекты
garbage collector stand by mode - сборщик мусора переключается в этот режим когда память выделеннаяф для кучи заканчивает тогда сборщик мусора останавливает приложение смотрит все ссылки и удаляет не связанные обьекты
system метод gc но может не сработать руками стартуем сборщик
оптимизация приложения
1 ) пишем красивый код а потом смотрим производительность
если устраивает то прекращать оптимизировать
2 ) запускаем профайлер и смотрим в ищем точку которая тормозит
устраняем и если устраивает то прекращать оптимизировать
Комментариев нет:
Отправить комментарий