[{"data":1,"prerenderedAt":271},["ShallowReactive",2],{"term-o\u002Foop":3,"related-o\u002Foop":254},{"id":4,"title":5,"acronym":5,"body":6,"category":234,"description":235,"difficulty":236,"extension":237,"letter":238,"meta":239,"navigation":130,"path":240,"related":241,"seo":247,"sitemap":248,"stem":251,"subcategory":252,"__hash__":253},"terms\u002Fterms\u002Fo\u002Foop.md","OOP",{"type":7,"value":8,"toc":228},"minimark",[9,14,18,22,25,29,217,221,224],[10,11,13],"h2",{"id":12},"eli5-the-vibe-check","ELI5 — The Vibe Check",[15,16,17],"p",{},"OOP is a way of organising code by modelling the world as objects — things that have properties (what they are) and methods (what they do). A Dog object has a name, a breed, and can bark(). Everything is a thing with stuff and actions.",[10,19,21],{"id":20},"real-talk","Real Talk",[15,23,24],{},"Object-Oriented Programming is a paradigm that structures software around objects — instances of classes — rather than functions and logic alone. Core pillars are encapsulation, inheritance, abstraction, and polymorphism.",[10,26,28],{"id":27},"show-me-the-code","Show Me The Code",[30,31,36],"pre",{"className":32,"code":33,"language":34,"meta":35,"style":35},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","class Animal {\n  constructor(public name: string) {}\n  speak(): string { return \"...\"; }\n}\n\nclass Dog extends Animal {\n  speak(): string { return \"Woof!\"; }\n}\n\nnew Dog(\"Rex\").speak(); \u002F\u002F \"Woof!\"\n","typescript","",[37,38,39,56,84,119,125,132,147,171,176,181],"code",{"__ignoreMap":35},[40,41,44,48,52],"span",{"class":42,"line":43},"line",1,[40,45,47],{"class":46},"spNyl","class",[40,49,51],{"class":50},"sBMFI"," Animal",[40,53,55],{"class":54},"sMK4o"," {\n",[40,57,59,62,65,68,72,75,78,81],{"class":42,"line":58},2,[40,60,61],{"class":46},"  constructor",[40,63,64],{"class":54},"(",[40,66,67],{"class":46},"public",[40,69,71],{"class":70},"sHdIc"," name",[40,73,74],{"class":54},":",[40,76,77],{"class":50}," string",[40,79,80],{"class":54},")",[40,82,83],{"class":54}," {}\n",[40,85,87,91,94,96,99,103,106,110,113,116],{"class":42,"line":86},3,[40,88,90],{"class":89},"swJcz","  speak",[40,92,93],{"class":54},"():",[40,95,77],{"class":50},[40,97,98],{"class":54}," {",[40,100,102],{"class":101},"s7zQu"," return",[40,104,105],{"class":54}," \"",[40,107,109],{"class":108},"sfazB","...",[40,111,112],{"class":54},"\"",[40,114,115],{"class":54},";",[40,117,118],{"class":54}," }\n",[40,120,122],{"class":42,"line":121},4,[40,123,124],{"class":54},"}\n",[40,126,128],{"class":42,"line":127},5,[40,129,131],{"emptyLinePlaceholder":130},true,"\n",[40,133,135,137,140,143,145],{"class":42,"line":134},6,[40,136,47],{"class":46},[40,138,139],{"class":50}," Dog",[40,141,142],{"class":46}," extends",[40,144,51],{"class":50},[40,146,55],{"class":54},[40,148,150,152,154,156,158,160,162,165,167,169],{"class":42,"line":149},7,[40,151,90],{"class":89},[40,153,93],{"class":54},[40,155,77],{"class":50},[40,157,98],{"class":54},[40,159,102],{"class":101},[40,161,105],{"class":54},[40,163,164],{"class":108},"Woof!",[40,166,112],{"class":54},[40,168,115],{"class":54},[40,170,118],{"class":54},[40,172,174],{"class":42,"line":173},8,[40,175,124],{"class":54},[40,177,179],{"class":42,"line":178},9,[40,180,131],{"emptyLinePlaceholder":130},[40,182,184,187,190,193,195,198,200,202,205,208,211,213],{"class":42,"line":183},10,[40,185,186],{"class":54},"new",[40,188,139],{"class":189},"s2Zo4",[40,191,64],{"class":192},"sTEyZ",[40,194,112],{"class":54},[40,196,197],{"class":108},"Rex",[40,199,112],{"class":54},[40,201,80],{"class":192},[40,203,204],{"class":54},".",[40,206,207],{"class":189},"speak",[40,209,210],{"class":192},"()",[40,212,115],{"class":54},[40,214,216],{"class":215},"sHwdD"," \u002F\u002F \"Woof!\"\n",[10,218,220],{"id":219},"when-youll-hear-this","When You'll Hear This",[15,222,223],{},"\"We're using OOP patterns throughout the backend.\" \u002F \"OOP vs functional is a classic holy war in programming.\"",[225,226,227],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":35,"searchDepth":58,"depth":58,"links":229},[230,231,232,233],{"id":12,"depth":58,"text":13},{"id":20,"depth":58,"text":21},{"id":27,"depth":58,"text":28},{"id":219,"depth":58,"text":220},"general","OOP is a way of organising code by modelling the world as objects — things that have properties (what they are) and methods (what they do).","intermediate","md","o",{},"\u002Fterms\u002Fo\u002Foop",[242,243,244,245,246],"Class","Interface","Functional Programming","Method","Generic",{"title":5,"description":235},{"changefreq":249,"priority":250},"weekly",0.7,"terms\u002Fo\u002Foop",null,"c6-27hBzqCQVq4FwZQ-RtruvJrzoZ_d6aYwrJdoYQ38",[255,259,262,265,268],{"title":242,"path":256,"acronym":252,"category":234,"difficulty":257,"description":258},"\u002Fterms\u002Fc\u002Fclass","beginner","A class is a blueprint for creating objects.",{"title":244,"path":260,"acronym":252,"category":234,"difficulty":236,"description":261},"\u002Fterms\u002Ff\u002Ffunctional-programming","Functional programming is like cooking with strict rules: no shared bowls, no side dishes contaminating each other, and every dish must be exactly reproduc...",{"title":246,"path":263,"acronym":252,"category":234,"difficulty":236,"description":264},"\u002Fterms\u002Fg\u002Fgeneric","A generic is like a recipe that works for any ingredient.",{"title":243,"path":266,"acronym":252,"category":234,"difficulty":236,"description":267},"\u002Fterms\u002Fi\u002Finterface","An interface is like a job description. It says 'whatever fills this role must be able to do X, Y, and Z' without caring how they do it.",{"title":245,"path":269,"acronym":252,"category":234,"difficulty":257,"description":270},"\u002Fterms\u002Fm\u002Fmethod","A method is just a function that belongs to an object or class. Your Dog object has a bark() method — it's the dog's personal function.",1776518298610]