Может ли кто-нибудь сказать мне разницу между абстрактным типом данных и интерфейсом? Я встречался со странной проблемой. То есть я не могу отличить абстрактный тип данных и класс? Можем ли мы создать класс с ADT или ADT, это класс?Разница между классом и абстрактным типом данных
ответ
Аннотация Тип данных - это общий математический термин, описывающий объект, который обладает свойствами, которые Java-класс воплощает (в некоторой степени). Таким образом, вы можете рассматривать Java-класс как пример реализации концепции ADT. Несколько соответствующих цитат из Wikipedia:
Абстрактный тип данных определяется косвенно, только с помощью операций, которые могут быть выполнены на нем и математическими ограничениями на эффекты (и, возможно, стоимость) этих операций.
Абстрактные типы данных - это чисто теоретические сущности, используемые (среди прочего) для упрощения описания абстрактных алгоритмов, классификации и оценки структур данных и формального описания систем типов языков программирования. Однако ADT может быть реализован конкретными типами данных или структурами данных во многих отношениях и во многих языках программирования.
ADT - это абстрактный тип данных. ADT не реализован, обычно это термин, который используется для теории и анализа. Например Стек ААТ может иметь функции:
Push(X)
Pop()
Peek()
Класс представляет собой набор атрибутов/свойств и функций/методов. В большинстве объектно-ориентированных языков программирования класс является основным способом выполнения абстракции и наследования.
класс для стека может выглядеть следующим образом:
public class Stack {
private LinkedList<Integer> m_stack;
public Stack() {
// some code
}
public void push(int item) {
// some code
}
public int pop() {
// some code
}
public int peek() {
// some code
}
}
В Java, есть также abstract class
эс. Это классы, которые не реализуют все методы. Например, мы могли бы определить абстрактный стек:
public abstract class Stack {
protected Collection<Integer> m_stack;
public Stack();
public void push(int item);
public int pop();
public int peek();
}
- 1. Разница между классом и типом
- 2. Разница между абстрактным классом и интерфейсом?
- 3. разница между абстрактным классом и Trait
- 4. Разница между чистым абстрактным классом и интерфейсом
- 5. Разница между интерфейсом и абстрактным классом
- 6. В чем разница между конкретным классом и абстрактным классом?
- 7. Разница в хранении данных между типом и классом
- 8. В чем разница между абстрактным классом и чистым абстрактным классом в C++?
- 9. В чем разница между абстрактным классом и интерфейсом в java?
- 10. F # В чем разница между абстрактным классом и abstractclassattribute
- 11. В чем разница между абстрактным классом и Mixin?
- 12. В чем разница между абстрактным классом и интерфейсом?
- 13. Разница между абстрактным классом и интерфейсом в C#
- 14. В чем разница между интерфейсом и абстрактным классом в Java?
- 15. В чем разница между интерфейсом и абстрактным классом?
- 16. В чем разница между абстрактным классом и интерфейсом?
- 17. В чем разница между абстрактным классом и интерфейсом в .NET?
- 18. какая разница между абстрактным классом и абстрактной функцией
- 19. В чем разница между абстрактным классом и статическим?
- 20. Что такое точная разница между наследованием и абстрактным классом?
- 21. JVM Разница между интерфейсом и чистым абстрактным классом?
- 22. Разница между интерфейсом, абстрактным классом, закрытым классом, статическим классом и частичным классом в C#?
- 23. Разница между (типом) и типом
- 24. Каковы различия и сходства между классом интерфейса и абстрактным классом?
- 25. Как выбирать между абстрактным классом и интерфейсом
- 26. Разница между ссылочным типом и типом объекта?
- 27. Связь между абстрактным типом данных и общей структурой
- 28. Разница между типом и классом в fortran 2003
- 29. Разница между типом данных и объектом
- 30. Разница между упакованным и нормальным типом данных
Извините, а что? –
Вот несколько быстрых заметок по классу и интерфейсу: http://www.cs.carleton.edu/faculty/rkirchne/cs217/tocej-proj/classes.html –