Size: a a a

StartAndroid Ru Chat

2020 September 05

Z

Zontik in StartAndroid Ru Chat
Ребят,а как можно сделать второй принцип солид,как сделать так,чтоб класс был открыт к расширеням,но закрыт к изменениям
источник

Z

Zontik in StartAndroid Ru Chat
Или это условно говорится, то есть программист должен понимать что он не может изменять класс
источник

Аv

Админ vk.com/for_fl... in StartAndroid Ru Chat
Zontik
Ребят,а как можно сделать второй принцип солид,как сделать так,чтоб класс был открыт к расширеням,но закрыт к изменениям
можешь писать higher order функции
источник

Аv

Админ vk.com/for_fl... in StartAndroid Ru Chat
которые принимают какой-то runnable например
источник

Аv

Админ vk.com/for_fl... in StartAndroid Ru Chat
но до его исполнения выполняет свою реализацию
источник

Аv

Админ vk.com/for_fl... in StartAndroid Ru Chat
в итоге получается функция которая точно каждый раз выполняет свою дефолтную реализацию (не меняется), плюс новый код в runnable (расширяется)
источник

АZ

А - Z in StartAndroid Ru Chat
Нихера не понял, но очень интересно))
источник

Z

Zontik in StartAndroid Ru Chat
Спасибо,я уже все понял
источник

S

SevenXP in StartAndroid Ru Chat
Zontik
Ребят,а как можно сделать второй принцип солид,как сделать так,чтоб класс был открыт к расширеням,но закрыт к изменениям
Если коротко у тебя есть класс A и B
источник

S

SevenXP in StartAndroid Ru Chat
B наследник A
источник

S

SevenXP in StartAndroid Ru Chat
A гдето используется и если ты подставишь иуда не экземпляр класса A
источник

E

Evgenii.Ok in StartAndroid Ru Chat
Вопрос
На pydroid нет компиляторов?
источник

S

SevenXP in StartAndroid Ru Chat
Подставите наследника но экземпляр уже класса B
источник

S

SevenXP in StartAndroid Ru Chat
То код должен продолжить выполнятся с тем же резульиатом что и при подстановки класса A
источник

S

SevenXP in StartAndroid Ru Chat
К примеру есть  class A { fun getInt() : Int -> return 2 }

Class B : A
Override fun getInt() : Int -> return 4
источник

S

SevenXP in StartAndroid Ru Chat
Так делать уже нельзя нарушение
источник

S

SevenXP in StartAndroid Ru Chat
При подстановки экз B там где использовался A.getInt() будет другой результат
источник

S

SevenXP in StartAndroid Ru Chat
Тут несколько способов модификации либо расширить класс, дополнить медот без нарцшения возращаймого значения и тд тп
источник

S

SevenXP in StartAndroid Ru Chat
А вообще вам отвечать за работу кода пишите как хотите, это нужно воспринимать как очень хороший совет SOLID
источник

M

Master in StartAndroid Ru Chat
Илюша 50
Я так понял если память распаяна, то поменять ничего нельзя?
Может быть что 4 Гб распаяно, но есть ещё слот под одну планку. Надо смотреть через cpuz или просто снять крышку и посмотреть глазами)
источник