1 00:00:00,510 --> 00:00:01,290 ‫Welkom terug. 2 00:00:01,320 --> 00:00:08,460 ‫In deze video gaan we het hebben over struts en struts lijken erg op klassen, maar klassen, alle referentietypen 3 00:00:08,460 --> 00:00:14,190 ‫en structuren zijn gewaardeerde typen, wat betekent dat als je een object van een klasse maakt, 4 00:00:14,460 --> 00:00:16,350 ‫het niets kan bevatten. 5 00:00:16,350 --> 00:00:19,590 ‫Het kan dus leeg zijn, maar een struct moet een waarde hebben. 6 00:00:20,040 --> 00:00:21,770 ‫Dat is waar de struct spel heet. 7 00:00:21,780 --> 00:00:25,970 ‫Je gebruikt dus het sleutelwoord struct en geeft het een naam. 8 00:00:26,340 --> 00:00:29,310 ‫Het lijkt dus erg op een klaslokaal en wat je kunt zien. 9 00:00:29,320 --> 00:00:33,690 ‫Dus je hebt deze naam hier en dan kun je doorgaan en hier variabelen maken. 10 00:00:33,690 --> 00:00:35,880 ‫Dus ik ga er een maken die naam wordt genoemd. 11 00:00:36,240 --> 00:00:44,460 ‫Dan ga ik er een maken die ontwikkelaar wordt genoemd en een die een beoordeling is. 12 00:00:44,880 --> 00:00:50,990 ‫Dus hoe wordt deze game beoordeeld en vervolgens de releasedatum van de openbare string? 13 00:00:51,000 --> 00:00:52,260 ‫Dus wanneer is het uitgebracht? 14 00:00:52,770 --> 00:00:54,390 ‫Dus dat is een simpele structuur. 15 00:00:54,390 --> 00:01:02,460 ‫Nu kunnen we doorgaan en een object van die structuur maken, zodat we kunnen doorgaan en zeggen, 16 00:01:02,460 --> 00:01:04,560 ‫oké, spel zo'n spel. 17 00:01:04,590 --> 00:01:11,900 ‫Dus nu hebben we dit spel, maar om dat spel te kunnen gebruiken, moeten we het specificeren. 18 00:01:11,910 --> 00:01:18,150 ‫Dus we hebben de specificatie van de game één nodig, we moeten bijvoorbeeld de naam instellen en 19 00:01:18,150 --> 00:01:23,460 ‫laten we zeggen dat het Puckerman-doel was, dan moet game één een ontwikkelaar hebben. 20 00:01:24,810 --> 00:01:27,330 ‫Dus we gaan iets zeggen als 21 00:01:29,790 --> 00:01:39,150 ‫Niantic en dan moet game één een beoordeling hebben, laten we zeggen drie komma vijf van de vijf sterren en tot slot 22 00:01:39,150 --> 00:01:40,170 ‫de releasedatum. 23 00:01:40,860 --> 00:01:43,790 ‫U kunt de waarden dus eenvoudig zo instellen. 24 00:01:43,800 --> 00:01:47,930 ‫Dus het lijkt erg op wat je zou doen met een klas, toch. 25 00:01:48,600 --> 00:01:51,330 ‫Dus het werd uitgebracht zestienentwintig. 26 00:01:52,080 --> 00:01:55,800 ‫En dat is onze spelstructuur die we hier hebben. 27 00:01:55,830 --> 00:02:00,390 ‫Nu kunnen we doorgaan en game-informatie op de console schrijven. 28 00:02:00,660 --> 00:02:03,630 ‫Dus laten we zeggen dat we de naam van het spel willen schrijven. 29 00:02:03,630 --> 00:02:07,320 ‫Dus s. W. Spel één. 30 00:02:09,900 --> 00:02:22,410 ‫En SNAME is en dan accolades, nul en winstgedachte, noem allemaal eigenlijk spel één, die naam. 31 00:02:23,610 --> 00:02:29,470 ‫Dus zoals je kunt zien, kun je gewoon doorgaan en de variabelen ervan aanroepen, zodat we hetzelfde kunnen doen, niet 32 00:02:29,490 --> 00:02:30,870 ‫alleen met een naam. 33 00:02:30,870 --> 00:02:33,270 ‫Dat kunnen we met al het andere doen. 34 00:02:33,350 --> 00:02:34,680 ‫Ik ga dat maar kopiëren. 35 00:02:35,010 --> 00:02:43,290 ‫Game één is ontwikkeld door en nu is het niet de naam van het spel, maar de ontwikkelaar. 36 00:02:44,130 --> 00:02:52,650 ‫En hetzelfde hier rating is game one's rating is. 37 00:02:53,630 --> 00:03:05,810 ‫En hier is de beoordeling en uiteindelijk werd game één uitgebracht in game één, gratis vermeld. 38 00:03:08,310 --> 00:03:16,890 ‫Laten we het nu uitvoeren, dat troosten, de sleutel lezen en kijken wat er gebeurt. 39 00:03:18,780 --> 00:03:25,410 ‫En we zijn game one's naam is Pokemon Go Game one is ontwikkeld door Niantic rating is drie 40 00:03:25,410 --> 00:03:28,970 ‫komma vijf en werd uitgebracht op 1 juli 2016. 41 00:03:29,250 --> 00:03:29,700 ‫Oke. 42 00:03:29,820 --> 00:03:35,070 ‫Zodat we zijn, het is erg basic en lijkt erg op een klas. 43 00:03:35,070 --> 00:03:35,400 ‫Rechts. 44 00:03:36,690 --> 00:03:37,800 ‫Dus hoe verschilt het? 45 00:03:38,100 --> 00:03:40,350 ‫Nou, er is nog een ding waar het niet verschilt. 46 00:03:40,950 --> 00:03:47,130 ‫Dus ik ga een openbare leegte-weergave maken, die informatie zou moeten weergeven. 47 00:03:47,370 --> 00:03:51,960 ‫En wat ik ga doen, is dat ik dat allemaal daarbinnen ga uitvoeren. 48 00:03:52,200 --> 00:03:54,780 ‫Dus het gaat me de naam geven. 49 00:03:54,780 --> 00:03:56,550 ‫Het gaat me de ontwikkelaar geven. 50 00:03:56,940 --> 00:04:00,570 ‫Het geeft me de beoordeling en de releasedatum. 51 00:04:01,940 --> 00:04:02,360 ‫Oke. 52 00:04:02,430 --> 00:04:09,090 ‫Nu kan ik in plaats daarvan gewoon de weergavemethode aanroepen en ik kan dit doen door game één 53 00:04:09,090 --> 00:04:14,400 ‫te bellen en te zeggen, laat alle informatie weer zien en we zullen zien. 54 00:04:14,400 --> 00:04:15,680 ‫We hadden alle informatie. 55 00:04:16,260 --> 00:04:16,620 ‫Oke. 56 00:04:16,630 --> 00:04:18,750 ‫U kunt dus variabelen maken. 57 00:04:18,750 --> 00:04:19,680 ‫U kunt methoden maken. 58 00:04:19,680 --> 00:04:20,550 ‫Maar hoe verschilt het? 59 00:04:20,580 --> 00:04:31,140 ‫Welnu, wat u niet kunt doen, is dat u geen constructorstructuur kunt maken die geen expliciete parameterconstructors kan 60 00:04:31,320 --> 00:04:32,340 ‫bevatten. 61 00:04:32,820 --> 00:04:38,850 ‫U kunt hier dus standaardconstructors maken en vervolgens een of meer interfaces implementeren. 62 00:04:38,880 --> 00:04:41,880 ‫U kunt dus doorgaan en interfaces hier implementeren. 63 00:04:41,880 --> 00:04:42,720 ‫ik afsluitbaar. 64 00:04:42,720 --> 00:04:44,760 ‫Ik vergelijk dat soort dingen. 65 00:04:46,140 --> 00:04:49,010 ‫Dan ondersteunen ze geen erfenis. 66 00:04:49,050 --> 00:04:53,780 ‫U kunt dus geen overerving gebruiken of instructies geven, u kunt geen standaardconstructor hebben. 67 00:04:53,790 --> 00:04:59,580 ‫Zoals ik al zei, kunnen de instructeursleden niet worden gespecificeerd als abstract, virtueel of beschermd. 68 00:04:59,880 --> 00:05:02,940 ‫Dus ze kunnen gewoon zoiets zijn als openbaar. 69 00:05:03,120 --> 00:05:05,940 ‫U kunt dus een openbare structeur hebben of u kunt een privé-structeur hebben. 70 00:05:08,560 --> 00:05:14,560 ‫Struts kunnen echter gedefinieerde constructors hebben, zodat je zoiets als een openbaar spel 71 00:05:14,630 --> 00:05:22,990 ‫kunt hebben en dan heb je de stringnaam, je kunt die hebben en er zal een naam of deze zijn. 72 00:05:23,110 --> 00:05:24,790 ‫Die naam is gelijk aan naam. 73 00:05:25,720 --> 00:05:35,170 ‫En dit dat de ontwikkelaar gelijk is aan de op ontwikkelaars gebaseerde beoordeling, is de gelijke beoordeling. 74 00:05:35,170 --> 00:05:39,460 ‫En deze DOT-releasedatum is dezelfde releasedatum. 75 00:05:39,760 --> 00:05:49,840 ‫Nu moet je ze natuurlijk hier hebben, stringontwikkelaar, dan dubbele beoordeling en releasedatum van de string. 76 00:05:51,100 --> 00:06:00,940 ‫Maar als je dan bijvoorbeeld door wilt gaan en de weergavemethode hier wilt weergeven, dan loop je tegen een fout aan 77 00:06:00,940 --> 00:06:05,430 ‫vanwege het gebruik van niet-toegewezen lokale variabele spel één. 78 00:06:05,860 --> 00:06:08,160 ‫Game één werd dus niet toegewezen. 79 00:06:08,440 --> 00:06:15,490 ‫Dus zelfs als ik het zou proberen, laten we zeggen dat nadat ik alle informatie ver weg heb, zie je dat er nog steeds een fout 80 00:06:15,490 --> 00:06:15,960 ‫is. 81 00:06:16,180 --> 00:06:21,430 ‫Je moet dus alle verschillende informatie over dit spel hebben, één die moet worden toegewezen. 82 00:06:21,550 --> 00:06:23,400 ‫Anders werkt dit spel niet. 83 00:06:23,410 --> 00:06:27,490 ‫Dus zelfs hier, nadat we de beoordeling hebben, krijgen we nog steeds dezelfde fout. 84 00:06:27,490 --> 00:06:30,790 ‫Pas nadat we alle waarden hebben toegewezen, kunnen we aan de slag. 85 00:06:31,060 --> 00:06:36,820 ‫Dus het werkt op basis van waarde, niet op basis van referentie, zoals een clausule zou doen, toch? 86 00:06:38,120 --> 00:06:44,270 ‫Dus als je een korte samenvatting wilt, is stack, overflow je vriend, dus een korte samenvatting 87 00:06:45,440 --> 00:06:47,380 ‫van elke klassen ondersteunt overerving. 88 00:06:47,390 --> 00:06:52,070 ‫Onze referentie-prototypes kunnen nul zijn en meer overrapportage hebben. 89 00:06:52,080 --> 00:06:59,090 ‫U kunt bijvoorbeeld alleen destructies ondersteunen overerving of waardetypen worden doorgegeven door een waarde die vergelijkbaar is 90 00:06:59,090 --> 00:07:00,380 ‫met gehele getallen. 91 00:07:00,620 --> 00:07:07,310 ‫Dan heeft Kennet een nulreferentie zoals je zojuist hebt gezien en geen geheugen, oververhit bijvoorbeeld, en beide hebben 92 00:07:07,490 --> 00:07:09,830 ‫een verbinding of onze verbinding. 93 00:07:09,830 --> 00:07:15,800 ‫Gegevenstypen die doorgaans worden gebruikt om een paar variabelen te bevatten die een logische relatie hebben, kunnen 94 00:07:15,800 --> 00:07:19,010 ‫methoden en gebeurtenissen bevatten en kunnen interfaces ondersteunen. 95 00:07:20,970 --> 00:07:28,200 ‫Ook al stelt Simon Stevens dat de lessen niet altijd gaan en hij instrueert niet altijd op Stack te gaan. 96 00:07:28,720 --> 00:07:34,810 ‫Juist, en deze stack-overflow-invoer bevat over het algemeen behoorlijk wat waardevolle informatie over stutten. 97 00:07:34,860 --> 00:07:39,710 ‫Dus de verschillen tussen stutten en klassen, maar je hebt de meeste hier gezien. 98 00:07:39,990 --> 00:07:45,680 ‫Maar zoals gewoonlijk raad ik altijd aan om ook de documentatie te bekijken om een beter begrip te krijgen.