<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="generator" content="made with love by dartdoc 0.8.2">
  <title>PublicClassExtendsPrivateClass class - ex library - Dart API</title>
  <!-- required because all the links are pseudo-absolute -->
  <base href="..">

  <link href='https://fonts.googleapis.com/css?family=Source+Code+Pro|Roboto:500,400italic,300,400' rel='stylesheet' type='text/css'>
  <link rel="stylesheet" href="static-assets/prettify.css">
  <link rel="stylesheet" href="static-assets/css/bootstrap.min.css">
  <link rel="stylesheet" href="static-assets/styles.css">

  <meta name="description" content="API docs for the PublicClassExtendsPrivateClass class from the ex library, for the Dart programming language.">
  <link rel="icon" href="static-assets/favicon.png">

  <!-- Do not remove placeholder -->
  <!-- Header Placeholder -->
</head>

<body>

<div id="overlay-under-drawer"></div>

<header class="container-fluid" id="title">
  <nav class="navbar navbar-fixed-top">
    <div class="container">
      <div class="row">
        <div class="col-sm-12 contents">
          <button id="sidenav-left-toggle" type="button">&nbsp;</button>
          <ol class="breadcrumbs gt-separated hidden-xs">
            <li><a href="index.html">test_package</a></li>
            <li><a href="ex/ex-library.html">ex</a></li>
            <li class="self-crumb">PublicClassExtendsPrivateClass</li>
          </ol>
          <div class="self-name">PublicClassExtendsPrivateClass</div>
          <form class="search navbar-right" role="search">
            <input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
          </form>
        </div> <!-- /col -->
      </div> <!-- /row -->
    </div> <!-- /container -->
  </nav>

  <div class="container masthead">
    <div class="row">
      <div class="col-sm-12 contents">
        <ol class="breadcrumbs gt-separated visible-xs">
          <li><a href="index.html">test_package</a></li>
          <li><a href="ex/ex-library.html">ex</a></li>
          <li class="self-crumb">PublicClassExtendsPrivateClass</li>
        </ol>
        <div class="title-description">
          <h1 class="title">
            <span class="kind">class</span> PublicClassExtendsPrivateClass
          </h1>
        </div>
        <ul class="subnav">
          <li><a href="ex/PublicClassExtendsPrivateClass-class.html#constructors">Constructors</a></li>
          <li><a href="ex/PublicClassExtendsPrivateClass-class.html#operators">Operators</a></li>
        </ul>
      </div> <!-- /col -->
    </div> <!-- /row -->
  </div> <!-- /container -->

</header>

<div class="container body">
  <div class="row">

  <div class="col-xs-6 col-sm-3 col-md-2 sidebar sidebar-offcanvas-left">
    <h5><a href="index.html">test_package</a></h5>
    <h5><a href="ex/ex-library.html">ex</a></h5>

    <ol>
      <li class="section-title"><a href="ex/ex-library.html#constants">Constants</a></li>
      <li><a href="ex/COLOR.html">COLOR</a></li>
      <li><a href="ex/COLOR_GREEN.html">COLOR_GREEN</a></li>
      <li><a href="ex/COLOR_ORANGE.html">COLOR_ORANGE</a></li>
      <li><a href="ex/COMPLEX_COLOR.html">COMPLEX_COLOR</a></li>
      <li><a href="ex/deprecated.html">deprecated</a></li>
      <li><a href="ex/incorrectDocReference.html">incorrectDocReference</a></li>
      <li><a href="ex/incorrectDocReferenceFromEx.html">incorrectDocReferenceFromEx</a></li>
      <li><a href="ex/MY_CAT.html">MY_CAT</a></li>
    
      <li class="section-title"><a href="ex/ex-library.html#typedefs">Typedefs</a></li>
      <li><a href="ex/processMessage.html">processMessage</a></li>
    
      <li class="section-title"><a href="ex/ex-library.html#properties">Properties</a></li>
      <li><a href="ex/number.html">number</a></li>
      <li><a href="ex/y.html">y</a></li>
    
      <li class="section-title"><a href="ex/ex-library.html#functions">Functions</a></li>
      <li><a href="ex/function1.html">function1</a></li>
    
      <li class="section-title"><a href="ex/ex-library.html#enums">Enums</a></li>
      <li><a href="ex/Animal-class.html">Animal</a></li>
    
      <li class="section-title"><a href="ex/ex-library.html#classes">Classes</a></li>
      <li><a href="ex/Apple-class.html">Apple</a></li>
      <li><a href="ex/B-class.html">B</a></li>
      <li><a href="ex/Cat-class.html">Cat</a></li>
      <li><a href="ex/CatString-class.html">CatString</a></li>
      <li><a href="ex/ConstantCat-class.html">ConstantCat</a></li>
      <li><a href="ex/DateTime-class.html">DateTime</a></li>
      <li><a href="ex/Deprecated-class.html">Deprecated</a></li>
      <li><a href="ex/Dog-class.html">Dog</a></li>
      <li><a href="ex/E-class.html">E</a></li>
      <li><a href="ex/F-class.html">F</a></li>
      <li><a href="ex/ForAnnotation-class.html">ForAnnotation</a></li>
      <li><a href="ex/HasAnnotation-class.html">HasAnnotation</a></li>
      <li><a href="ex/Helper-class.html">Helper</a></li>
      <li><a href="ex/Klass-class.html">Klass</a></li>
      <li><a href="ex/PublicClassExtendsPrivateClass-class.html">PublicClassExtendsPrivateClass</a></li>
      <li><a href="ex/PublicClassImplementsPrivateInterface-class.html">PublicClassImplementsPrivateInterface</a></li>
      <li><a href="ex/ShapeType-class.html">ShapeType</a></li>
      <li><a href="ex/SpecializedDuration-class.html">SpecializedDuration</a></li>
    
      <li class="section-title"><a href="ex/ex-library.html#exceptions">Exceptions</a></li>
      <li><a href="ex/MyError-class.html">MyError</a></li>
      <li><a href="ex/MyErrorImplements-class.html">MyErrorImplements</a></li>
      <li><a href="ex/MyException-class.html">MyException</a></li>
      <li><a href="ex/MyExceptionImplements-class.html">MyExceptionImplements</a></li>
    </ol>
  </div>

  <div class="col-xs-12 col-sm-9 col-md-8 main-content">

    




    <section class="summary offset-anchor" id="constructors">
      <h2>Constructors</h2>

      <dl class="constructor-summary-list">
        <dt id="PublicClassExtendsPrivateClass" class="callable">
          <span class="name"><a href="ex/PublicClassExtendsPrivateClass/PublicClassExtendsPrivateClass.html">PublicClassExtendsPrivateClass</a></span><span class="signature">()</span>
        </dt>
        <dd>
          <p></p>
        </dd>
      </dl>
    </section>

    <section class="summary offset-anchor inherited" id="instance-properties">
      <h2>Properties</h2>

      <dl class="properties">
        <dt id="hashCode" class="property inherited">
          <span class="name"><a href="ex/PublicClassExtendsPrivateClass/hashCode.html">hashCode</a></span>
          <span class="signature">&#8594; int</span>
        </dt>
        <dd class="inherited">
          <p>Get a hash code for this object.<a href="ex/PublicClassExtendsPrivateClass/hashCode.html">&hellip;</a>
</p>
          <div class="features">
    read-only, inherited
  </div>
</dd>
        <dt id="runtimeType" class="property inherited">
          <span class="name"><a href="ex/PublicClassExtendsPrivateClass/runtimeType.html">runtimeType</a></span>
          <span class="signature">&#8594; Type</span>
        </dt>
        <dd class="inherited">
          <p>A representation of the runtime type of the object.</p>
          <div class="features">
    read-only, inherited
  </div>
</dd>
      </dl>
    </section>

    <section class="summary offset-anchor inherited" id="operators">
      <h2>Operators</h2>
      <dl class="callables">
        <dt id="operator ==" class="callable inherited">
          <span class="name "><a href="ex/PublicClassExtendsPrivateClass/operator_equals.html">operator ==</a></span><span class="signature">(<wbr><span class="parameter" id="==-param-other"><span class="parameter-name">other</span></span>)
            <span class="returntype parameter">&#8594; bool</span>
          </span>
        </dt>
        <dd class="inherited">
          <p>The equality operator.<a href="ex/PublicClassExtendsPrivateClass/operator_equals.html">&hellip;</a>
</p>
          <div class="features">inherited</div>
        </dd>
      </dl>
    </section>

    <section class="summary offset-anchor inherited" id="instance-methods">
      <h2>Methods</h2>
      <dl class="callables">
        <dt id="noSuchMethod" class="callable inherited">
          <span class="name "><a href="ex/PublicClassExtendsPrivateClass/noSuchMethod.html">noSuchMethod</a></span><span class="signature">(<wbr><span class="parameter" id="noSuchMethod-param-invocation"><span class="type-annotation">Invocation</span> <span class="parameter-name">invocation</span></span>)
            <span class="returntype parameter">&#8594; dynamic</span>
          </span>
        </dt>
        <dd class="inherited">
          <p><code>noSuchMethod</code> is invoked when users invoke a non-existent method
on an object. The name of the method and the arguments of the
invocation are passed to <code>noSuchMethod</code> in an <code>Invocation</code>.
If <code>noSuchMethod</code> returns a value, that value becomes the result of
the original invocation.<a href="ex/PublicClassExtendsPrivateClass/noSuchMethod.html">&hellip;</a>
</p>
          <div class="features">inherited</div>
        </dd>
        <dt id="test" class="callable inherited">
          <span class="name "><a href="ex/PublicClassExtendsPrivateClass/test.html">test</a></span><span class="signature">(<wbr>)
            <span class="returntype parameter">&#8594; void</span>
          </span>
        </dt>
        <dd class="inherited">
          <p></p>
          <div class="features">inherited</div>
        </dd>
        <dt id="toString" class="callable inherited">
          <span class="name "><a href="ex/PublicClassExtendsPrivateClass/toString.html">toString</a></span><span class="signature">(<wbr>)
            <span class="returntype parameter">&#8594; String</span>
          </span>
        </dt>
        <dd class="inherited">
          <p>Returns a string representation of this object.</p>
          <div class="features">inherited</div>
        </dd>
      </dl>
    </section>

  </div> <!-- /.main-content -->

  <div class="col-xs-6 col-sm-6 col-md-2 sidebar sidebar-offcanvas-right">
    <h5>PublicClassExtendsPrivateClass</h5>
    <ol>
    
    
    
      <li class="section-title"><a href="ex/PublicClassExtendsPrivateClass-class.html#constructors">Constructors</a></li>
      <li><a href="ex/PublicClassExtendsPrivateClass/PublicClassExtendsPrivateClass.html">PublicClassExtendsPrivateClass</a></li>
    
      <li class="section-title inherited">
        <a href="ex/PublicClassExtendsPrivateClass-class.html#instance-properties">Properties</a>
      </li>
      <li class="inherited"><a href="ex/PublicClassExtendsPrivateClass/hashCode.html">hashCode</a></li>
      <li class="inherited"><a href="ex/PublicClassExtendsPrivateClass/runtimeType.html">runtimeType</a></li>
    
      <li class="section-title inherited"><a href="ex/PublicClassExtendsPrivateClass-class.html#operators">Operators</a></li>
      <li class="inherited"><a href="ex/PublicClassExtendsPrivateClass/operator_equals.html">operator ==</a></li>
    
      <li class="section-title inherited"><a href="ex/PublicClassExtendsPrivateClass-class.html#instance-methods">Methods</a></li>
      <li class="inherited"><a href="ex/PublicClassExtendsPrivateClass/noSuchMethod.html">noSuchMethod</a></li>
      <li class="inherited"><a href="ex/PublicClassExtendsPrivateClass/test.html">test</a></li>
      <li class="inherited"><a href="ex/PublicClassExtendsPrivateClass/toString.html">toString</a></li>
    </ol>
  </div><!--/.sidebar-offcanvas-->

</div> <!-- row -->
</div> <!-- container -->

<footer>
  <div class="container-fluid">
    <div class="container">
      <p class="text-center">
        <span class="no-break">
          test_package 0.0.1
        </span>
        &bull;
        <span class="no-break">
          <a href="https://www.dartlang.org">
            <img src="static-assets/favicon.png" alt="Dart" title="Dart" width="16" height="16">
          </a>
        </span>
        &bull;
        <span class="copyright no-break">
          <a href="http://creativecommons.org/licenses/by-sa/4.0/">cc license</a>
        </span>
      </p>
    </div>
  </div>
</footer>

<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="static-assets/typeahead.bundle.min.js"></script>
<script src="static-assets/prettify.js"></script>
<script src="static-assets/script.js"></script>
<!-- Do not remove placeholder -->
<!-- Footer Placeholder -->

</body>

</html>
