Video: School HACKS! 12 DIY Back to School LIFE HACKS 2024
De meeste computerprogramma's werken volledig in het virtuele rijk. Ze hebben geen stenen, spijkers of liggers. U kunt dus binnen enkele minuten een vrij gecompliceerd computerprogramma typen. Zelfs zonder spieren en zonder zware uitrusting kun je een structuur creëren waarvan de complexiteit wedijvert met die van veel gecompliceerde fysieke structuren. Jij, de ontwikkelaar, hebt de macht om ingewikkelde, virtuele bruggen te bouwen.
Een doel van computerprogrammering is het beheren van complexiteit. Een goede app is niet alleen nuttig of visueel aantrekkelijk - de code van een goede app is mooi georganiseerd, gemakkelijk te begrijpen en gemakkelijk te wijzigen.
Bepaalde programmeertalen, zoals C ++, ondersteunen meerdere overerving, waarin een klasse meer dan één ouderklasse kan hebben. In C ++ kunt u bijvoorbeeld een klasse Book, een klasse TeachingMaterial en een klasse Textbook maken. Je kunt Textbook zowel Book als TeachingMaterial laten uitbreiden.
Deze functie maakt klassenhiërarchieën behoorlijk flexibel, maar maakt diezelfde hiërarchieën ook uiterst gecompliceerd. U hebt lastige regels nodig om te beslissen hoe de verplaatsingsmethoden van zowel de computermuisklasse als de muisklasse van het knaagdier worden geërfd.
Om al deze complexiteit te voorkomen, ondersteunt Java geen meerdere overerving. In Java heeft elke klasse één (en slechts één) superklasse. Een klasse kan een onbeperkt aantal subklassen hebben. Je kunt (en zal) veel subklassen van de Activiteitsklasse van Android maken.
En andere ontwikkelaars maken hun eigen subklassen van de Activiteitsklasse van Android. Maar klassen hebben niet meerdere persoonlijkheden. Een Java-klasse kan slechts één ouder hebben. De klasse Executive waarnaar in deze lijst wordt verwezen, kan niet zowel de klasse FullTimeEmployee als de klasse PartTimeEmployee uitbreiden.
pakket org. allyourcode. bedrijf; public class Executive verlengt FullTimeEmployee {dubbele bonus; public Executive () {} public Executive (Stringnaam, StringjobTitel, dubbel salaris, dubbele bonus) {this. naam = naam; deze. jobTitle = jobTitle; deze. salaris = salaris; deze. bonus = bonus;} @Override openbare dubbele betaling () {return salary + bonus;}}