python-scala-oop
Guide for translating Python classes, inheritance, and object-oriented patterns to Scala. Use when converting Python code with classes, dataclasses, abstract classes, inheritance, properties, static methods, class methods, or design patterns.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Guide for translating Python classes, inheritance, and object-oriented patterns to Scala. Use when converting Python code with classes, dataclasses, abstract classes, inheritance, properties, static methods, class methods, or design patterns.
How to use
Załaduj umiejętność python-scala-oop w swoim środowisku agenta lub narzędzia AI. Umiejętność zawiera mapowanie między konstrukcjami Pythona a ich odpowiednikami w Scali.
Przygotuj kod Python zawierający klasy, które chcesz przetłumaczyć. Może to być klasa zwykła z metodą init, dataclass, klasa z właściwościami (@property) lub hierarchia dziedziczenia.
Przekaż kod Pythona do umiejętności, wskazując typ konstrukcji: klasa podstawowa, dataclass, właściwości lub dziedziczenie. Umiejętność zwróci odpowiadającą konstrukcję Scali.
Dla klas zwykłych zwróć uwagę, że Scala wymaga słowa kluczowego 'new' przy tworzeniu instancji, a parametry konstruktora mogą być oznaczone jako 'val' dla automatycznego utworzenia pól.
Dla dataclass użyj case class w Scali – są one domyślnie niezmienne i automatycznie generują equals, hashCode, toString i metodę copy.
Przy właściwościach z getterami i setterami zastosuj wzorzec Scali: getter jako metoda bez parametrów, setter jako metoda z przyrostkiem '=' (np. radius=). Użyj require() do walidacji zamiast raise ValueError.