# info > TAP::Object

TAP::[Object(3perl)](https://www.chedong.com/phpMan.php/man/Object/3perl/markdown)     Perl Programmers Reference Guide     TAP::[Object(3perl)](https://www.chedong.com/phpMan.php/man/Object/3perl/markdown)

## NAME
       [TAP::Object](https://www.chedong.com/phpMan.php/perldoc/TAP%3A%3AObject/markdown) - Base class that provides common functionality to all
       "TAP::*" modules

## VERSION
       Version 3.43

## SYNOPSIS
           package [TAP::Whatever](https://www.chedong.com/phpMan.php/perldoc/TAP%3A%3AWhatever/markdown);

           use strict;

           use base '[TAP::Object](https://www.chedong.com/phpMan.php/perldoc/TAP%3A%3AObject/markdown)';

           # new() implementation by [TAP::Object](https://www.chedong.com/phpMan.php/perldoc/TAP%3A%3AObject/markdown)
           sub _initialize {
               my ( $self, @args) = @_;
               # initialize your object
               return $self;
           }

           # ... later ...
           my $obj = [TAP::Whatever](https://www.chedong.com/phpMan.php/perldoc/TAP%3A%3AWhatever/markdown)->new(@args);

## DESCRIPTION
       "[TAP::Object](https://www.chedong.com/phpMan.php/perldoc/TAP%3A%3AObject/markdown)" provides a default constructor and exception model for
       all "TAP::*" classes.  Exceptions are raised using Carp.

## METHODS
   Class Methods
       "new"

       Create a new object.  Any arguments passed to "new" will be passed on
       to the "_initialize" method.  Returns a new object.

   Instance Methods
       "_initialize"

       Initializes a new object.  This method is a stub by default, you should
       override it as appropriate.

       Note: "new" expects you to return $self or raise an exception.  See
       "_croak", and Carp.

       "_croak"

       Raise an exception using "croak" from Carp, eg:

           $self->_croak( 'why me?', 'aaarrgh!' );

       May also be called as a class method.

           $class->_croak( 'this works too' );

       "_confess"

       Raise an exception using "confess" from Carp, eg:

           $self->_confess( 'why me?', 'aaarrgh!' );

       May also be called as a class method.

           $class->_confess( 'this works too' );

       "_construct"

       Create a new instance of the specified class.

       "mk_methods"

       Create simple getter/setters.

        __PACKAGE__->mk_methods(@method_names);

perl v5.34.0                      2026-06-23                TAP::[Object(3perl)](https://www.chedong.com/phpMan.php/man/Object/3perl/markdown)
