---
name: "Class::Trait::Base"
section: "3pm"
platform: "linux"
package: "libclass-trait-perl"
version: "0.31-4.1"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/Class::Trait::Base"
---

# Class::Trait::Base(3pm)

Base class for all Traits

## NAME

Class::Trait::Base - Base class for all Traits

## SYNOPSIS

This class needs to be inherited by all traits so they can be identified as traits.

```
        use Class::Trait 'base';
```

## DESCRIPTION

Not much going on here, just an AUTOLOAD method to help properly dispatch calls to `"SUPER::"` and an `"apply"` method.

### apply

```
  require TSomeTrait;
  TSomeTrait->apply($object);
```

This method allows you to apply a trait to an object.  It returns the trait so you can then reapply it:

```
 TTricks->apply($dog_object)
        ->apply($cat_object);
```

This is merely syntactic sugar for the `"Class::Trait::apply"` method:

```
 Class::Trait->apply($dog_object, 'TTricks');
 Class::Trait->apply($cat_object, 'TTricks');
```

## SEE ALSO

**Class::Trait**, **Class::Trait::Config**

## MAINTAINER

Curtis "Ovid" Poe, `"<ovid [at] cpan [dot] org>"`

## AUTHOR

Stevan Little \<stevan@iinteractive.com\>

## COPYRIGHT AND LICENSE

Copyright 2004, 2005 by Infinity Interactive, Inc.

\<http://www.iinteractive.com\>

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
