W polu Cel C możesz zrobić Category
klasy, w których można "rozszerzyć" funkcjonalność klas podstawowych Apple. Na przykład UIColor
klasa ma niezliczoną ilość kolorów, ale powiedzmy, że chcesz mieć określony motyw dla swojego projektu, możesz po prostu stworzyć Category
dla tego tak:
@interface UIColor (CustomColors)
+ (UIColor) myCustomColor;
@end
@implementation UIColor (CustomColors)
+ (UIColor) myCustomColor {
return [UIColor colorWithRed:...];
}
@end
Czy jest coś podobnego w Javie?
Odpowiedzi:
1 dla odpowiedzi № 1W systemie Android (i ogólnie w Javie) do uzyskania takich samych wyników należy użyć podklasy.
Na przykład.:
public class MyView extends View {
public void someCustomMethod() {
...
}
}
1 dla odpowiedzi nr 2
Java 8 dodała domyślne implementacje dla interfejsów, ale idea kategorii (iOS) lub rozszerzenia (Swift) jeszcze nie istnieje w systemie Android.