All language subtitles for 009 Bank Management – Part 6 (the clone method)_en

af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian Download
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:00,150 --> 00:00:05,220 In this video, we'll create the bank class, so we'll start by setting up inside Bank Java and the 2 00:00:05,220 --> 00:00:08,760 bank is going to be in charge of managing accounts and transactions. 3 00:00:09,060 --> 00:00:10,590 So here I'll create an array list. 4 00:00:12,820 --> 00:00:18,550 Type accounts called accounts, and I'll create another ArrayList. 5 00:00:21,830 --> 00:00:25,250 Not a ray array list of type transaction. 6 00:00:27,160 --> 00:00:28,990 Called transactions. 7 00:00:33,300 --> 00:00:37,140 Now we'll add a constructor that receives no parameters, public bank. 8 00:00:38,430 --> 00:00:40,250 And here we can initialize the area list. 9 00:00:40,290 --> 00:00:45,000 This accounts is equal to a new object of the ArrayList class. 10 00:00:46,190 --> 00:00:48,080 That can store account objects. 11 00:00:52,120 --> 00:00:55,440 Seems like going after import accounts, OK? 12 00:00:56,530 --> 00:01:03,770 Then we'll set this that transactions equal to a new object of the ArrayList class that can store transaction 13 00:01:03,770 --> 00:01:04,459 objects. 14 00:01:08,320 --> 00:01:14,560 OK, now we need methods that we can use to add account objects to the account surrealist and transaction 15 00:01:14,560 --> 00:01:16,930 object to the transactions ArrayList. 16 00:01:17,470 --> 00:01:19,000 We're going to start with ad account. 17 00:01:19,330 --> 00:01:22,480 So we'll see public void ad accounts. 18 00:01:23,730 --> 00:01:26,370 This method receives an account object. 19 00:01:29,000 --> 00:01:36,380 And to the Arab, the state accounts, we're going to add a new copy of the account object. 20 00:01:40,050 --> 00:01:43,650 But wait, a second account is an abstract class. 21 00:01:49,080 --> 00:01:54,660 So it doesn't matter if this is a checking savings or loan object. 22 00:01:54,900 --> 00:01:57,360 We can't create a new account object. 23 00:01:57,810 --> 00:02:01,210 And that's why we need a clone method, a clone method. 24 00:02:01,230 --> 00:02:07,370 What it does is it returns a copy of the object that calls it so inside account counter Java. 25 00:02:07,770 --> 00:02:09,060 We're going to force. 26 00:02:10,330 --> 00:02:17,620 We're going to force every child the class to override Clone, so we'll say public abstract account 27 00:02:18,340 --> 00:02:18,820 clone. 28 00:02:20,670 --> 00:02:21,180 OK. 29 00:02:22,300 --> 00:02:29,230 And now back here, we can say this state accounts don't add account cyclone. 30 00:02:32,180 --> 00:02:36,500 And what that's going to do is return a copy of the object that calls it. 31 00:02:36,920 --> 00:02:41,900 So if this object is checking, it's going to call the clone method from the checking class. 32 00:02:42,200 --> 00:02:46,520 If this object is savings, it's going to call the clone method from the savings class. 33 00:02:46,760 --> 00:02:51,770 If this object is loan, it's going to call the clone method wherever it is from the loan class. 34 00:02:52,490 --> 00:02:55,610 And ultimately, Clone will return a copy of that object. 35 00:02:56,210 --> 00:03:00,050 But right now, we still have to override the clone methods and each child. 36 00:03:00,290 --> 00:03:01,490 So we'll start with checking. 37 00:03:02,510 --> 00:03:06,050 I like to define my clone method right after the copy constructor. 38 00:03:08,590 --> 00:03:10,450 So here I'll override Clone. 39 00:03:11,500 --> 00:03:14,770 OK, now inside Clone, we're going to create a new checking object. 40 00:03:18,430 --> 00:03:23,500 And the object we're creating, it's going to get all of its values from the current object that's calling 41 00:03:23,500 --> 00:03:25,840 this method, which would be this. 42 00:03:30,180 --> 00:03:32,130 We'll do the same thing inside savings. 43 00:03:33,440 --> 00:03:39,110 We'll put a clone method right after the copy constructor in here, I will say return new savings. 44 00:03:40,630 --> 00:03:41,380 This. 45 00:03:43,800 --> 00:03:45,420 Put a clone method inside Lone. 46 00:03:49,360 --> 00:03:54,970 Return a new loan object that's going to get all of its values from the current object, that's calling 47 00:03:54,970 --> 00:03:55,510 this method. 48 00:04:00,160 --> 00:04:04,570 All right, now, we're going to test our clone methods, so go back to the article and copy over these 49 00:04:04,570 --> 00:04:07,510 objects inside mean we can remove the following? 50 00:04:07,570 --> 00:04:08,470 We don't need any more. 51 00:04:10,780 --> 00:04:12,340 An ad for break points. 52 00:04:14,610 --> 00:04:15,940 We're getting a bunch of errors. 53 00:04:15,960 --> 00:04:16,980 Not sure why. 54 00:04:18,000 --> 00:04:20,459 Oh, we got to import the account class. 55 00:04:22,590 --> 00:04:22,890 OK. 56 00:04:24,060 --> 00:04:25,350 Let's visualize the runtime. 57 00:04:29,930 --> 00:04:32,750 Here it creates a new object of the chucking class. 58 00:04:33,870 --> 00:04:38,070 And now in this line, Clone is supposed to return a copy of this object. 59 00:04:38,370 --> 00:04:39,090 How does it do it? 60 00:04:39,630 --> 00:04:40,620 Well, let's step inside. 61 00:04:43,290 --> 00:04:50,830 So Clone returns a new checking object passing in the current object as the source the copy values from. 62 00:04:51,210 --> 00:04:53,760 So ultimately, that's going to call the copy constructor. 63 00:04:55,820 --> 00:04:56,270 OK. 64 00:04:58,840 --> 00:05:05,230 So that new object we just created that became the current object and the one that originally called 65 00:05:05,230 --> 00:05:08,800 this method, that is now the source object that we're copying values from. 66 00:05:13,000 --> 00:05:17,980 Here, the copper constructor is updating its ID, its name and its balance. 67 00:05:23,420 --> 00:05:26,030 And now Clone returns a new copy of that object. 68 00:05:27,300 --> 00:05:27,990 Perfect. 69 00:05:28,770 --> 00:05:29,910 Same thing for savings. 70 00:05:30,390 --> 00:05:34,620 This one is pretty simple, we're just creating a new savings object, passing in three values into 71 00:05:34,620 --> 00:05:35,340 the constructor. 72 00:05:35,610 --> 00:05:42,840 Nothing interesting here, but here Savings Cyclone Clone is returning a new copy of the object that 73 00:05:42,840 --> 00:05:44,370 calls it so we'll step inside. 74 00:05:45,690 --> 00:05:51,810 Clone creates a new savings object, passing in the current object as the source the copy values from. 75 00:05:52,200 --> 00:05:54,690 So ultimately, this is calling the copy constructor. 76 00:05:56,810 --> 00:06:03,260 The object we just created becomes the current object, and the object that originally called the clone 77 00:06:03,260 --> 00:06:06,260 method becomes the source object to copy values from. 78 00:06:09,650 --> 00:06:13,430 And here we're copying every value from the source object into the current one. 79 00:06:17,920 --> 00:06:19,720 Clone returns the new object. 80 00:06:20,870 --> 00:06:21,970 And we're good. 7370

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.