# OOP extends issue

**URL:** <https://forum.kirupa.com/t/oop-extends-issue/314684>\
**Category:** flash\
**Created:** [October 6, 2010, 9:09am UTC](https://forum.kirupa.com/t/oop-extends-issue/314684 "2010-10-06T09:09:21Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![fikontrollet](https://avatars.discourse-cdn.com/v4/letter/f/35a633/32.png) [@fikontrollet](https://forum.kirupa.com/u/fikontrollet)\
**Post date:** [October 6, 2010, 9:09am UTC](https://forum.kirupa.com/t/oop-extends-issue/314684/1 "2010-10-06T09:09:21Z")

</div>

Hey  
I’m not super familiar with doing things purely OOP style, so this might seem like an obvious answer to an obvious question for many of you.

I’m basically making a video-player with some extra shenanigans.

So I have my BasePlayer.as class, which holds all the stuff for my accual stream. Volume, progress, buffertime, the list goes on and on.

I then have my FlvPlayer.as class which extends my BasePlayer class, and initializes the stream. From here I can manage the video I’m playing thorough play pause volume commands.

What I would like now is to be able to extend my FlvPlayer.as class so I, for instance, could make a muteSound.as class and call for volume = 0;

But how do I extend my FlvPlayer without having to construct a new FlvPlayer thorough muteSound.as every time.

Basically my question is, how do I extend my FlvPlayer.as class in a lot of different of command-like classes (mostly buttons with graphic) that passes on commands to BasePlayer.as when my FlvPlayer is the one who constructs everything, like so:

```auto

public class FlvPlayer extends BasePlayer

public function FlvPlayer(a_width : Number, a_height : Number) {
     super(a_width, a_height);
     initialize();
}

```
