Moose::Object(3) User Contributed Perl Documentation Moose::Object(3)

# [DESCRIPTION](#DESCRIPTION)

This class is the default base class for all Moose-using classes. When you "use Moose" in this class, your class will inherit from this class.

It provides a default constructor and destructor, which run all of the "BUILD" and "DEMOLISH" methods in the inheritance hierarchy, respectively.

You don't actually *need* to inherit from this in order to use Moose, but it makes it easier to take advantage of all of Moose's features.

# [METHODS](#METHODS)

## [Moose::Object-&gt;new(%params|$params)](#Moose::Object)

This method calls "$class-&gt;BUILDARGS(@\_)", and then creates a new instance of the appropriate class. Once the instance is created, it calls "$instance-&gt;BUILD($params)" for each "BUILD" method in the inheritance hierarchy.

## [Moose::Object-&gt;BUILDARGS(%params|$params)](#Moose::Object~2)

The default implementation of this method accepts a hash or hash reference of named parameters. If it receives a single argument that *isn't* a hash reference it throws an error.

You can override this method in your class to handle other types of options passed to the constructor.

This method should always return a hash reference of named options.

## [$object-&gt;does($role\_name)](#$object)

This returns true if the object does the given role.

## [$object-&gt;DOES($class\_or\_role\_name)](#$object~2)

This is a Moose role-aware implementation of "DOES" in UNIVERSAL.

This is effectively the same as writing:

```
  $object->does($name) || $object->isa($name)
```

This method will work with Perl 5.8, which did not implement "UNIVERSAL::DOES".

## [$object-&gt;dump($maxdepth)](#$object~3)

This is a handy utility for Data::Dumpering an object. By default, there is no maximum depth.

## [$object-&gt;DESTROY](#$object~4)

A default destructor is provided, which calls "$instance-&gt;DEMOLISH($in\_global\_destruction)" for each "DEMOLISH" method in the inheritance hierarchy.

# [BUGS](#BUGS)

See "BUGS" in Moose for details on reporting bugs.

2026-10-01 perl v5.44.0

---

Document: Moose::Object(3pm) from perl-moose 2.4001-r0 (Chainguard OS)
Source: https://github.com/moose/Moose
