<?php

abstract class AbstractShit
{
	private $color;
	private $weight; // В килограммах
	private $smell;
	
	abstract function eat();
	public function smearYourself() { /* Можно ли задать тут реализацию по умолчанию? */ }
}

class Shit extends AbstractShit
{
	public function eat()
	{
		echo 'Ням, ням, ням!';
	}
	public function smearYouself()
	{
		echo 'Уфф, уфф!';
	}
}

$shit = new Shit;
$shit->color = 'Темно-зеленый';
$shit->weight = 0.5;
$shit->smell = 'Как земля';
$shit->eat();