Hauras perusluokka on olio-ohjelmoinnin perusongelma .
Hauraan perusluokan ongelmana on, että pieninkin muutos perusluokan toteutusyksityiskohtiin voi tuoda bugeja johdettuihin luokkiin. Pahimmassa tapauksessa tämä johtaa kaikkiin onnistuneisiin perusluokan modifiointeihin, jotka edellyttävät koko perintöpuun ennakkotutkimusta, ja se on usein mahdotonta (ilman virheiden luomista) silloinkin.
Hauras perusluokkaongelma vähentää suuresti perinnön arvoa .
Yleisesti ottaen ongelmaa ei voida ratkaista, ja se on yksi OOP:n merkittävistä haitoista.
Ongelma voidaan yleistää järjestelmiin, joita ei ole kehitetty OOP-kielillä ja jotka eivät käytä "luokan" käsitettä. Valmiin koodin uudelleenkäyttö (ilman kopioimista) osana uutta koodia voi aiheuttaa tällaisen ongelman.
Nykyaikaiset OOP-vaikutteiset ohjelmointiparadigmat käyttävät käsitteitä "kytkentä" ja "koheesio", ja suunnittelun laadun määrää suhteiden hallinta, mikä tarkoittaa erityisesti siteiden heikentämistä. Perinnöllisyys OOP:n merkityksessä luo vahvimman mahdollisen suhteen, joten sitä tulee käyttää erittäin huolellisesti.
Kehyskehityksen monimutkaisuus verrattuna työkalupakkien kehittämiseen, kuten Gang of Four Patterns -kirjassa kuvataan, johtuu osittain " hauraan perusluokan" helposta ilmaantumisesta kehyksiin ja vaikeudesta käsitellä tätä ongelmaa.
Perinnön korvaaminen aggregaatiolla . Aggregoinnissa sisäkkäinen perusluokkaobjekti ilmoitetaan eksplisiittisesti osaksi johdettua luokkaobjektia, ja johdettu luokka voi käyttää vain perusluokan julkista käyttöliittymää. Näin johdettu luokka ei voi riippua perusluokan toteutusyksityiskohdista, mikä ratkaisee ongelman.