2013-04-03 2 views
9

Как я прочитал спецификации UML, что:что различия между классом и DATATYPE

class has a set of attributes/operations 
and data type has a set of attributes/operations 

1) в отношении атрибутов/операций типа данных, что это значит?

потому что я не знаю, как такой тип данных имеет атрибуты и операции?

2) В чем основное отличие между классом и типом данных?

ответ

0

В объектно-ориентированном (ОО) подхода , системы , включая программное обеспечение , являются , составленной из многочисленных объектов , которые работают вместе путем обмена информации в форме значений данных и 'messages' . Объектом является конкретный экземпляр класса . Класс , как и ваша собака (объект), является конкретным экземпляром класса всех собак. Классы определяют, что такое объект, и объекты являются практическими примерами, которые можно использовать и манипулировать. В качестве определения класс определяет, какие свойства будут использовать для описания каждого объекта на основе этого класса. Внутри объекта каждое из этих свойств будет иметь значение, которое вносит свой вклад в его описание. Два объекта одного класса будут иметь одинаковые свойства, но они будут иметь как минимум одно свойство, которое имеет другое значение в каждом из объектов - , если все свойства имеют одинаковые значения в обоих из двух объектов то они являются одним и тем же объектом.

Тип данных относится к атрибутам объекта и какой тип данных каждого атрибута является, например, строка, логическое, целое число, и т.д.

Операции или методы это то, что объект может сделать такие, как для собаки :

growl(); 
bark(); 
fetch(); 

т.д.

Посмотрите на это объяснение Class Diagram, это будет иметь больше смысла.

+1

«если все свойства имеют одинаковые значения в обоих из двух объектов, то они и тот же объект» Это на самом деле неверно. Предполагая простой класс Dog в соответствии с вашим примером, например. с двумя именами атрибутов и возрастом, прекрасно, что у него есть два разных экземпляра собаки, оба по имени Фидо и оба в возрасте 6 лет. – Carsten

9

согласно UML 2.4.1 спецификации

тип данных представляет собой особый вид классификатором, подобен классу. Он отличается от класса в том, что экземпляры типа данных идентифицированы только по их значению. Все копии экземпляра типа данных и любых экземпляров этого типа данных с таким же значением считаются равными экземплярами . Экземпляры типа данных, которые имеют атрибуты (т. Е. , представляют собой структурированный тип данных), считаются равными, если структура одинакова, а значения соответствующих атрибутов равны. Если тип данных имеет атрибуты, то экземпляры этого типа данных будут содержать значения атрибутов, соответствующие этим атрибутам.

1) Атрибуты/операции типа данных имеют то же значение, что и атрибуты/операции классов, т. Е. Атрибуты представляют структуру вашего типа данных, а операции представляют собой метод, доступный для вашего типа данных.

2) Основное различие между классом и типом данных состоит в том, что невозможно иметь два экземпляра типа данных с одинаковыми значениями (этот экземпляр будет одним уникальным экземпляром).

Надеясь это помогает,

RB

Смежные вопросы