W języku C# mamy akcesor protected
, który pozwala członkom klasy być widocznymi na zasadzie dziedziczenia, ale nie dla pozostałych.Jaki jest poprawny sposób myślenia C# chronionego akcesora w szybkim tempie?
w Swift to nie istnieje, więc zastanawiam się, co to jest prawidłowe podejście do czegoś takiego:
chcę mieć zmienną (zachowanie wewnętrzny) i oraz sposób publiczny przy użyciu tej zmiennej w bazie klasa. Ta zmienna będzie używana również w przypadku dziedziczonych zdań.
Opcje widzę
- Zapomnij o klasie bazowej i wdrożenie metod zmiennych i wszędzie go potrzebuję. WRONG, powielony kod
- Dziedzictwo realizacji według składu. Stworzyłem klasę zawierającą popularne metody i będzie ona używana przez kompozycję zamiast dziedziczenia. LESS WRONG ale wciąż powtarzający się kod, którego można było uniknąć z dziedziczeniem
- Dziedziczenie i wykonanie zmiennej wewnętrznej w klasie bazowej. WRONG ponieważ ujawnia rzeczy bez żadnego uzasadnienia, z wyjątkiem dopuszczania widoczności na odziedziczonych klauzulach.
Szczegóły wdrożeniowe dla klasy
bazowej chcę mieć NSOperationQueue
instancji i publicznego oraz sposobu, aby anulować kolejce operacje. Dodaję nowe operacje do tej kolejki z dziedziczonych klas.
Świetna odpowiedź. Dzięki! – StackOverflower