# Class Baz contains 1 abstract methods and must therefore be declared abstract (Baz::run)

- Thread: https://externals.io/message/8147
- Original archive: https://news-web.php.net/php.internals/8147
- Started by Timm Friebe on 2004-02-26T06:08:35+00:00
- Messages: 1
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #8147 — Timm Friebe — 2004-02-26T06:08:35+00:00

URL: https://externals.io/message/8147#8147

Fails: "Fatal error: Class Baz contains 1 abstract methods and must
therefore be declared abstract (Baz::run)" (expected behaviour):

<?php
  class Baz {
    abstract function run();
  }
?>

Works (no error message, is instantiable):

<?php
  class Bar { }
  class Foo extends Bar {
    abstract function run();
  }
?>

Is this correct? Why would this differ for inherited classes? And why
are these checks performed at runtime?

- Timm
