Should I make a basic class for maps and use inheritance to customize it?
Avoid inheritance until you *know* you need it.
What does a map need? That depends on the game you want to make.
2D games can have maps with tiles aligned to a grid (Mario Bros, Terraria, etc). They can have polygon-based maps (Gish, Reassembly, etc). They can have images where every pixel can be solid or not (Scorched Earth, Worms, etc). They can be simple layered images (every point-and-click adventure game ever). And anything else you can imagine is fair game as well.
3D games can have heightmap-based maps (most games with 'ground'), 3d meshes (most 3D games with caves, buildings, etc), or they can even be grid-aligned cubes like Minecraft.
What does YOUR game need? If you don't have a specific need yet, then my advice is to play around with the different approaches to get a feel for them, even if you don't end up using them. You'll gain experience this way.