---
name: "Autodia::Diagram::Class"
section: "3pm"
platform: "linux"
package: "autodia"
version: "2.14-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Autodia::Diagram::Class"
---

# Autodia::Diagram::Class(3pm)

Class that holds, updates and outputs the values of a diagram element of type class.

## NAME

Autodia::Diagram::Class - Class that holds, updates and outputs the values of a diagram element of type class.

## SYNOPSIS

use Autodia::Diagram::Class;

my `$Class` = Autodia::Diagram::Class-\>new;

### Description

Autodia::Diagram::Class is an object that represents the Dia UML Class element within a Dia diagram. It holds, outputs and allows the addition of attributes, relationships and methods.

## METHODS

### Constructor

my `$Class` = Autodia::Diagram::Class-\>new($name);

creates and returns a simple Autodia::Diagram::Class object, containing its name and its original position (default 0,0).

### Accessors

Autodia::Diagram::Class attributes are accessed through methods, rather than directly. Each attribute is available through calling the method of its name, ie **Inheritances()**. The methods available are :

Operations, Attributes, Inheritances, Dependencies, Parent, and has\_child. The first 4 return a list, the later return a string.

Adding elements to the Autodia::Diagram::Class is achieved through the add\_\<attribute\> methods, ie **add\_inheritance()**.

Rather than remove an element from the diagram it is marked as redundant and replaced with a superseding element, as Autodia::Diagram::Class has highest precedence it won't be superseded and so doesn't have a **redundant()** method. Superclass and Component do.

### Accessing and manipulating the Autodia::Diagram::Class

`$Class`-\>**Attributes()**, **Inheritances()**, **Operations()**, and **Dependencies()** all return a list of their respective elements.

`$Class`-\>**Parent()**, and **has\_child()** return the value of the parent or child respectively if present otherwise a false.

`$Class`-\>**add\_attribute()**, **add\_inheritance()**, **add\_operation()**, and **add\_dependancy()** all add a new element of their respective types.

### See Also

Autodia::DiagramObject

Autodia::Diagram

Autodia::DiagramSuperclass

Autodia::DiagramInheritance

## AUTHOR

Aaron Trevena, \<aaron.trevena@gmail.com\>

## COPYRIGHT AND LICENSE

Copyright (C) 2004 by Aaron Trevena

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.1 or, at your option, any later version of Perl 5 you may have available.
