[{"data":1,"prerenderedAt":287},["ShallowReactive",2],{"term-c\u002Fclass":3,"related-c\u002Fclass":270},{"id":4,"title":5,"acronym":6,"body":7,"category":251,"description":252,"difficulty":253,"extension":254,"letter":255,"meta":256,"navigation":107,"path":257,"related":258,"seo":264,"sitemap":265,"stem":268,"subcategory":6,"__hash__":269},"terms\u002Fterms\u002Fc\u002Fclass.md","Class",null,{"type":8,"value":9,"toc":245},"minimark",[10,15,19,23,31,35,234,238,241],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"A class is a blueprint for creating objects. If you want to make lots of cars, you write a Car blueprint once — specifying it has 4 wheels, a color, and can drive. Then you can stamp out as many Car objects as you want from that blueprint.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25,26,30],{},"A class is a user-defined type that bundles data (properties) and behaviour (methods) together. You instantiate a class with ",[27,28,29],"code",{},"new"," to create an object. Classes support inheritance, encapsulation, and polymorphism.",[11,32,34],{"id":33},"show-me-the-code","Show Me The Code",[36,37,42],"pre",{"className":38,"code":39,"language":40,"meta":41,"style":41},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","class User {\n  constructor(public name: string, public email: string) {}\n\n  greet(): string {\n    return `Hi, I'm ${this.name}`;\n  }\n}\n\nconst user = new User(\"Alice\", \"alice@example.com\");\nuser.greet(); \u002F\u002F \"Hi, I'm Alice\"\n","typescript","",[27,43,44,61,102,109,123,153,159,165,170,212],{"__ignoreMap":41},[45,46,49,53,57],"span",{"class":47,"line":48},"line",1,[45,50,52],{"class":51},"spNyl","class",[45,54,56],{"class":55},"sBMFI"," User",[45,58,60],{"class":59},"sMK4o"," {\n",[45,62,64,67,70,73,77,80,83,86,89,92,94,96,99],{"class":47,"line":63},2,[45,65,66],{"class":51},"  constructor",[45,68,69],{"class":59},"(",[45,71,72],{"class":51},"public",[45,74,76],{"class":75},"sHdIc"," name",[45,78,79],{"class":59},":",[45,81,82],{"class":55}," string",[45,84,85],{"class":59},",",[45,87,88],{"class":51}," public",[45,90,91],{"class":75}," email",[45,93,79],{"class":59},[45,95,82],{"class":55},[45,97,98],{"class":59},")",[45,100,101],{"class":59}," {}\n",[45,103,105],{"class":47,"line":104},3,[45,106,108],{"emptyLinePlaceholder":107},true,"\n",[45,110,112,116,119,121],{"class":47,"line":111},4,[45,113,115],{"class":114},"swJcz","  greet",[45,117,118],{"class":59},"():",[45,120,82],{"class":55},[45,122,60],{"class":59},[45,124,126,130,133,137,140,143,147,150],{"class":47,"line":125},5,[45,127,129],{"class":128},"s7zQu","    return",[45,131,132],{"class":59}," `",[45,134,136],{"class":135},"sfazB","Hi, I'm ",[45,138,139],{"class":59},"${",[45,141,142],{"class":59},"this.",[45,144,146],{"class":145},"sTEyZ","name",[45,148,149],{"class":59},"}`",[45,151,152],{"class":59},";\n",[45,154,156],{"class":47,"line":155},6,[45,157,158],{"class":59},"  }\n",[45,160,162],{"class":47,"line":161},7,[45,163,164],{"class":59},"}\n",[45,166,168],{"class":47,"line":167},8,[45,169,108],{"emptyLinePlaceholder":107},[45,171,173,176,179,182,185,188,190,193,196,198,200,203,206,208,210],{"class":47,"line":172},9,[45,174,175],{"class":51},"const",[45,177,178],{"class":145}," user ",[45,180,181],{"class":59},"=",[45,183,184],{"class":59}," new",[45,186,56],{"class":187},"s2Zo4",[45,189,69],{"class":145},[45,191,192],{"class":59},"\"",[45,194,195],{"class":135},"Alice",[45,197,192],{"class":59},[45,199,85],{"class":59},[45,201,202],{"class":59}," \"",[45,204,205],{"class":135},"alice@example.com",[45,207,192],{"class":59},[45,209,98],{"class":145},[45,211,152],{"class":59},[45,213,215,218,221,224,227,230],{"class":47,"line":214},10,[45,216,217],{"class":145},"user",[45,219,220],{"class":59},".",[45,222,223],{"class":187},"greet",[45,225,226],{"class":145},"()",[45,228,229],{"class":59},";",[45,231,233],{"class":232},"sHwdD"," \u002F\u002F \"Hi, I'm Alice\"\n",[11,235,237],{"id":236},"when-youll-hear-this","When You'll Hear This",[16,239,240],{},"\"Create a User class with name and email properties.\" \u002F \"That class has too many responsibilities — time to refactor.\"",[242,243,244],"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 .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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":41,"searchDepth":63,"depth":63,"links":246},[247,248,249,250],{"id":13,"depth":63,"text":14},{"id":21,"depth":63,"text":22},{"id":33,"depth":63,"text":34},{"id":236,"depth":63,"text":237},"general","A class is a blueprint for creating objects.","beginner","md","c",{},"\u002Fterms\u002Fc\u002Fclass",[259,260,261,262,263],"OOP","Method","Interface","Generic","Boilerplate",{"title":5,"description":252},{"changefreq":266,"priority":267},"weekly",0.7,"terms\u002Fc\u002Fclass","EPqox5aUHm-7kXkx6tX3fX_Rq0YCVn-5dN2tp7chVmk",[271,274,278,281,284],{"title":263,"path":272,"acronym":6,"category":251,"difficulty":253,"description":273},"\u002Fterms\u002Fb\u002Fboilerplate","Code you have to write every single time you start a project but that doesn't actually do anything interesting.",{"title":262,"path":275,"acronym":6,"category":251,"difficulty":276,"description":277},"\u002Fterms\u002Fg\u002Fgeneric","intermediate","A generic is like a recipe that works for any ingredient.",{"title":261,"path":279,"acronym":6,"category":251,"difficulty":276,"description":280},"\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":260,"path":282,"acronym":6,"category":251,"difficulty":253,"description":283},"\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.",{"title":259,"path":285,"acronym":259,"category":251,"difficulty":276,"description":286},"\u002Fterms\u002Fo\u002Foop","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).",1776518265373]