Какие хорошие примеры абстракций в JavaScript для AP Comp. Sci. Принципы? - PullRequest
0 голосов
/ 14 апреля 2020

В настоящее время я работаю над заданием по производительности для курса AP CSP. У меня есть все пункты, кроме абстракции. Может кто-нибудь, пожалуйста, дайте мне хороший пример. Технически это должна быть абстракция, созданная студентами. Я работаю над проектом, основанным на «поиске работы» в области медицины. Спасибо

1 Ответ

0 голосов
/ 23 апреля 2020

Я предполагаю, что под «абстракцией» вы подразумеваете объявление класса абстрактным, так что вы не можете создавать объекты этого класса без помощи подкласса. Примером может служить программа, в которой необходимо отслеживать животных в зоопарке и группировать их по типу окружающей среды. Таким образом, вы можете иметь:

publi c abstract Class Animal {}

publi c abstract Class AquaticAnimal расширяет Animal {}

publi c abstract Class LandAnimal extends Animal {}

publi c abstract Class AvianAnimal расширяет Animal {}

, и тогда вы можете иметь все виды неабстрактных, объявляемых классов, которые объединяются в ту или иную категорию, например :

publi c Class Gopher расширяет LandAnimal {}

Можно ли все это сделать с помощью некоторых идентифицирующих примитивных данных, которые являются параметром объекта? абсолютно. Вместо этого можно сделать следующие преимущества:

- Пока вы не можете создавать объекты абстрактного класса, вы можете создавать их массивы, где все объекты являются подклассами, вы можете иметь LandAnimal [], который содержит газели, львы и змеи.

- упрощена реализация методов. Я мог бы объявить метод в своем классе Animal с именем orderFood (), чтобы у каждого животного был определенный способ заказа большего количества еды. Я также могу объявить что-то вроде checkFeathers () в классе AvianAnimals, поэтому у каждого AvianAnimal должен быть метод для проверки того, как их перья можно проверять на наличие повреждений. таким образом, мне не нужно создавать интерфейс для каждой группы, которую я хочу, если они уже определены.

- вероятно, больше, но это все, что у меня в голове, может быть, у других людей будет больше.

(редактировать: пример кода все в java)

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