Это расширяет правильный подход? - PullRequest
0 голосов
/ 07 марта 2019

Допустим, у меня есть JSONObject, подобный этому примеру:

{ "name":"John", 
"age":30, 
"car":null,
contact":  {
      "telephone": "12345", 
      "extension": "34
    }
 }

, и я хотел бы создать класс, в котором я бы написал несколько методов для получения определенных значений из JSONObjects с этим форматом.

Моей первой мыслью было создание класса (назовем его «Person»), который расширяет JSONObject и добавляет нужные мне методы, проблема в том, что я получаю JSONObject в качестве объекта возврата метода в API REST, а неиз конструктора класса JSONObject, поэтому я не могу ни создать конструктор в Person, используя его родительский конструктор, ни привести этот JSONObject к Person, как у меня было бы ClassCastException.Как вы думаете, что является лучшим / правильным способом подойти к этому?Чего мне не хватает?

Другой вариант - создать класс Person (без расширений) с JSONObject в качестве переменной класса и создать конструктор с JSONObject в качестве единственного параметра.Но это кажется не слишком «элегантным» для меня.

Это одна из тех проблем, которая заставляет меня думать, что я, вероятно, еще недостаточно понимаю ООП, поскольку у меня сложилось впечатление, что есть очевидный способ сделать это, я могуне вижу сейчас хаха

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...