If you need to modify the behavior of a standard web part, you have the following options according to your requirements:
1. You only need to set the web part properties dynamically in your code
You can create a user control, add the given web part to it and write additional code. See the Setting web part properties dynamically in your code topic.
2. You need to modify the design (layout) of a web part
You can use the custom web part layouts described in the Customizing web part layout topic.
3. You need to modify the code of a web part
You need to create a copy of a standard web part as described in the Modifying the code or design of standard web parts topic.
4. You need to create a specialized version of a web part with different default property values
You can use Web part inheritance to easily create a derived web part.