En skrøbelig basisklasse er et grundlæggende problem i objektorienteret programmering .
Problemet med en skør baseklasse er, at den mindste ændring i implementeringsdetaljerne for basisklassen kan introducere fejl i afledte klasser. I værste fald resulterer dette i enhver vellykket ændring af basisklassen, der kræver en forudgående undersøgelse af hele arvetræet, og det er ofte umuligt (uden at generere fejl) selv da.
Det skøre basisklasseproblem reducerer værdien af arv i høj grad .
I det generelle tilfælde er problemet ikke løseligt og er en af de væsentlige ulemper ved OOP.
Problemet kan generaliseres til systemer, der ikke er udviklet i OOP-sprog og ikke bruger begrebet "klasse". Enhver genbrug af den færdige kode (uden kopiering) som en del af den nye kode kan medføre et sådant problem.
Moderne OOP-influerede programmeringsparadigmer bruger begreberne "kobling" og "sammenhæng", og kvaliteten af designet bestemmes af styringen af relationer, hvilket især indebærer en svækkelse af båndene. Arv, i betydningen OOP, skaber den stærkest mulige relation, og bør derfor bruges med stor omhu.
Den høje kompleksitet af framework-udvikling sammenlignet med toolkit-udvikling, som beskrevet i Gang of Four Patterns-bogen, skyldes til dels den lette optræden af en "skrøbelig basisklasse" i rammer og vanskeligheden ved at håndtere dette problem.
Erstatning af arv med aggregering . I aggregering erklæres det indlejrede basisklasseobjekt eksplicit som en del af det afledte klasseobjekt, og den afledte klasse kan kun bruge basisklassens offentlige grænseflade. På denne måde kan den afledte klasse ikke afhænge af implementeringsdetaljerne for basisklassen, hvilket løser problemet.