[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:01.19,0:00:03.17,Default,,0000,0000,0000,,დავბრუნდით ვინსტონების\Nშემქმნელ პროგრამაში, Dialogue: 0,0:00:03.17,0:00:07.59,Default,,0000,0000,0000,,მაგრამ მე დავამატე ახალი\Nობიექტი - ჰოპერი, რადგან ჰოპერი Dialogue: 0,0:00:07.59,0:00:11.92,Default,,0000,0000,0000,,თავს გამოტოვებულად გრძნობდა.\Nმას ვინსტონის მსგავსად განვმარტავ, Dialogue: 0,0:00:11.92,0:00:15.84,Default,,0000,0000,0000,,ვიწყებ კონსტრუქციული ფუნქციით\Nდა იგივე თვისებებით, დახატვით, Dialogue: 0,0:00:15.84,0:00:23.81,Default,,0000,0000,0000,,ლაპარაკით და კიდევ დავამატე ფუნქცია "ვაშა"\Nრადგან ჰოპერები სიხარულს გამოხატავენ. Dialogue: 0,0:00:23.81,0:00:31.17,Default,,0000,0000,0000,,ფუნქციის ბოლოში შევქმენი ორი ახალი ჰოპერის\Nობიექტი: პატარა ჰოპერი და დიდი ჰოპერი. Dialogue: 0,0:00:31.17,0:00:35.35,Default,,0000,0000,0000,,დავხატე ისინი, ერთზე\Nგამოვიძახე "ლაპარაკი", მეორეზე - "ვაშა". Dialogue: 0,0:00:35.35,0:00:37.51,Default,,0000,0000,0000,,ძალიან კარგი. Dialogue: 0,0:00:37.51,0:00:39.93,Default,,0000,0000,0000,,ახლა, ამ კოდს თუ დაუკვირდებით, Dialogue: 0,0:00:39.93,0:00:41.82,Default,,0000,0000,0000,,შესაძლოა საინტერესო რამ შენიშნოთ. Dialogue: 0,0:00:41.97,0:00:52.32,Default,,0000,0000,0000,,ჰოპერის კოდი ძალიან ჰგავს ვინსტონისას.\Nდაუკვირდით კონსტრუქტორს, ზუსტად იგივეა. Dialogue: 0,0:00:52.32,0:01:00.75,Default,,0000,0000,0000,,ლაპარაკის ფუნქციაც ზუსტად\Nშეესაბამება ვინსტონის ლაპარაკის ფუნქციას, Dialogue: 0,0:01:00.76,0:01:03.90,Default,,0000,0000,0000,,ასევე, ორივეს აქვს დახატვის ფუნქცია. Dialogue: 0,0:01:03.90,0:01:07.92,Default,,0000,0000,0000,,ესეიგი ამ ორ ობიექტს ბევრი საერთო აქვს, Dialogue: 0,0:01:07.92,0:01:12.60,Default,,0000,0000,0000,,ეს იმიტომ, რომ ჰოპერი და ვინსტონი\Nძალიან მსგავსი ობიექტის ტიპებია. Dialogue: 0,0:01:12.60,0:01:15.30,Default,,0000,0000,0000,,თუ დაუფიქრდებით, ნამდვილ სამყაროში, Dialogue: 0,0:01:15.30,0:01:21.42,Default,,0000,0000,0000,,კომპიუტერს გარეთ ობიექტების უმეტესობას\Nსხვა ობიექტებთან რაღაც საერთო აქვს. Dialogue: 0,0:01:21.42,0:01:23.64,Default,,0000,0000,0000,,მაგალითად, ცხოველთა სამეფო. Dialogue: 0,0:01:23.64,0:01:26.81,Default,,0000,0000,0000,,ყველა ცხოველი მსგავსია, მაგრამ\Nისინი სხვადასხვა ტიპისანი არიან, Dialogue: 0,0:01:26.81,0:01:31.59,Default,,0000,0000,0000,,როგორც ადამიანები.\Nადამიანებსაც აქვთ ეს მსგავსებები, Dialogue: 0,0:01:31.59,0:01:34.33,Default,,0000,0000,0000,,მაგრამ მათ თავიანთი\Nუნიკალური თვისებებიც გააჩნიათ. Dialogue: 0,0:01:34.33,0:01:41.65,Default,,0000,0000,0000,,ესეიგი ცხოველი ობიექტის ტიპია, რომლისგან\Nადამიანის ობიექტის ტიპი თვისებებს იძენს. Dialogue: 0,0:01:41.65,0:01:46.86,Default,,0000,0000,0000,,ნულიდან დაწყება არ გვიწევს, ცხოველების\Nარსებულ თვისებებს ჩვენსას ვუმტებთ. Dialogue: 0,0:01:46.86,0:01:49.20,Default,,0000,0000,0000,,ყველა ცხოველი უშვებს ხმას, Dialogue: 0,0:01:49.20,0:01:51.41,Default,,0000,0000,0000,,ადამიანებს კი ენაც აქვთ. Dialogue: 0,0:01:51.41,0:01:56.70,Default,,0000,0000,0000,,ეს ობიექტის მემკვიდრეობითობა\Nპროგრამირებაშიც ძალიან გამოსადეგია. Dialogue: 0,0:01:56.70,0:01:59.86,Default,,0000,0000,0000,,Javascript შეგვიძლია\Nმემკვიდრეობის ჯაჭვი შევქმნათ. Dialogue: 0,0:01:59.86,0:02:04.42,Default,,0000,0000,0000,,უნდა მოვიფიქროთ რა არის\Nსაერთო ობიექტის ტიპებს შორის Dialogue: 0,0:02:04.42,0:02:06.63,Default,,0000,0000,0000,,და მოვიფიქროთ კარგი სახელი, Dialogue: 0,0:02:06.63,0:02:08.68,Default,,0000,0000,0000,,რადგან უნდა შევქმნათ ახალი ობიექტის ტიპი, Dialogue: 0,0:02:08.68,0:02:10.58,Default,,0000,0000,0000,,რომელიც წარმოადგენს საფუძველ ობიექტს, Dialogue: 0,0:02:10.58,0:02:12.09,Default,,0000,0000,0000,,ამიტომ დავარქვათ "არსებები". Dialogue: 0,0:02:12.09,0:02:13.87,Default,,0000,0000,0000,,ორივე არსებაა. Dialogue: 0,0:02:13.87,0:02:17.83,Default,,0000,0000,0000,,ესეიგი ვამბობთ var არსება უდრის.\Nახლა გვჭირდება კონსტრუქტორი ფუნქცია. Dialogue: 0,0:02:17.83,0:02:22.34,Default,,0000,0000,0000,,მოდი უბრალოდ ჰოპერის\Nმოვიპაროთ, რაც იგივე ვინსტონისაა. Dialogue: 0,0:02:22.34,0:02:23.76,Default,,0000,0000,0000,,კარგი. Dialogue: 0,0:02:23.76,0:02:27.17,Default,,0000,0000,0000,,ახლა, ვნახოთ... Dialogue: 0,0:02:27.17,0:02:28.14,Default,,0000,0000,0000,,ახლა გვინდა... Dialogue: 0,0:02:28.14,0:02:29.51,Default,,0000,0000,0000,,ახლა რისი გაკეთება გვინდა? Dialogue: 0,0:02:29.51,0:02:31.97,Default,,0000,0000,0000,,ალბათ, ჯობს ფუნქცია "ლაპარაკი" დავამატოთ. Dialogue: 0,0:02:31.97,0:02:39.30,Default,,0000,0000,0000,,"ლაპარაკი" ფუნქციისთვის ისევ ჰოპერს\Nმოვპაროთ. ჯერ არსების პროტოტიპს მოვარგებთ. Dialogue: 0,0:02:39.30,0:02:41.68,Default,,0000,0000,0000,,ძალიან კარგი. Dialogue: 0,0:02:41.68,0:02:45.30,Default,,0000,0000,0000,,ახლა გვაქვს არსების ობიექტის ტიპი. Dialogue: 0,0:02:45.30,0:02:53.83,Default,,0000,0000,0000,,საჭიროა ჰოპერს ვუთხრათ რომ\Nის "არსების" საფიძველში უნდა იყოს. Dialogue: 0,0:02:53.83,0:03:02.02,Default,,0000,0000,0000,,დავწეროთ Hopper.prototype = object.create Dialogue: 0,0:03:02.02,0:03:04.98,Default,,0000,0000,0000,,creature.prototype Dialogue: 0,0:03:04.98,0:03:14.20,Default,,0000,0000,0000,,Javascript-ს ჰოპერის ფუნქციონალურობას ეს\Nხაზი "არსების" პროტოტიპზე დააფუძნებინებს. Dialogue: 0,0:03:14.20,0:03:22.34,Default,,0000,0000,0000,,ესეიგი ჰოპერის ფუნქციის მოძებნისას\Nჯერ ნახავს ჰოპერის პროტოტიპს, Dialogue: 0,0:03:22.34,0:03:26.43,Default,,0000,0000,0000,,თუ აქ ვერ იპოვის, შემდეგ\Nმოძებნის არსების პროტოტიპში. Dialogue: 0,0:03:26.43,0:03:29.20,Default,,0000,0000,0000,,ამას ეწოდება პროტოტიპის ჯაჭვი. Dialogue: 0,0:03:29.20,0:03:35.63,Default,,0000,0000,0000,,ამის გაკეთების შემდეგ შეგვიძლია\Nჰოპერის ლაპარაკის ფუნქციის წაშლა, Dialogue: 0,0:03:35.63,0:03:38.30,Default,,0000,0000,0000,,რადგან ის უკვე არსებას გააჩნია, Dialogue: 0,0:03:38.30,0:03:40.23,Default,,0000,0000,0000,,რომელიც პროტოტიპის ჯაჭვში ზემოთაა. Dialogue: 0,0:03:40.23,0:03:42.02,Default,,0000,0000,0000,,მზად ხართ? Dialogue: 0,0:03:42.02,0:03:43.92,Default,,0000,0000,0000,,იმუშავა! Dialogue: 0,0:03:43.92,0:03:48.86,Default,,0000,0000,0000,,მუშაობს, რადგან\Nპოულობს არსების პროტოტიპში. Dialogue: 0,0:03:48.86,0:03:54.65,Default,,0000,0000,0000,,ახლა ვინსტონის წაშლაც ვცადოთ. Dialogue: 0,0:03:54.65,0:03:57.68,Default,,0000,0000,0000,,წერია რომ ობიექტს\Nარ აქვს ლაპარაკის მეთოდი. Dialogue: 0,0:03:57.68,0:04:01.26,Default,,0000,0000,0000,,რატომ? იმიტომ რომ\Nგვაქვს ვინსტონის კონსტრუქტორი, Dialogue: 0,0:04:01.26,0:04:03.52,Default,,0000,0000,0000,,დახატვა, ლაპარაკი კი მოვაშორეთ. Dialogue: 0,0:04:03.52,0:04:08.51,Default,,0000,0000,0000,,დაგვავიწყდა რომ ვინსტონის პროტოტიპი\Nარსების პროტოტიპზე დაგვეფუძნებინა. Dialogue: 0,0:04:08.51,0:04:10.71,Default,,0000,0000,0000,,ეს ხაზიც აუცილებელია. Dialogue: 0,0:04:10.71,0:04:14.38,Default,,0000,0000,0000,,Winston.prototype=object.create Dialogue: 0,0:04:14.38,0:04:17.61,Default,,0000,0000,0000,,creature.prototype. Dialogue: 0,0:04:17.61,0:04:19.11,Default,,0000,0000,0000,,ესეც ასე! Dialogue: 0,0:04:19.11,0:04:20.43,Default,,0000,0000,0000,,დაუკვირდით იმას, რომ Dialogue: 0,0:04:20.43,0:04:27.44,Default,,0000,0000,0000,,ეს ხაზი კონსტრუქტორი ფუნქციის შემდეგაა,\Nმაგრამ ნებისმიერი სხვა რამის დამატებამდე. Dialogue: 0,0:04:27.44,0:04:29.33,Default,,0000,0000,0000,,სწორედ ამისი გაკეთებაა საჭირო. Dialogue: 0,0:04:29.33,0:04:33.80,Default,,0000,0000,0000,,ამით ვამბობთ თუ რაზე იქნება\Nსაწყისი პროტოტიპი დაფუძნებული. Dialogue: 0,0:04:33.86,0:04:36.80,Default,,0000,0000,0000,,პროტოტიპს კიდევ რაღაცებს ვამატებთ, Dialogue: 0,0:04:36.80,0:04:41.67,Default,,0000,0000,0000,,რადგან შესაძლოა რამე\Nუნიკალური იყოს ვინსტონში, ან ჰოპერში, Dialogue: 0,0:04:41.67,0:04:43.91,Default,,0000,0000,0000,,რაც ზოგადად არსებებს არ ახასიათებთ. Dialogue: 0,0:04:43.91,0:04:45.40,Default,,0000,0000,0000,,ანუ მათი განმარტვა დაშვებულია. Dialogue: 0,0:04:46.50,0:04:50.26,Default,,0000,0000,0000,,თუ დავუკვირდებით,\Nგარკვეული კოდი ისევ მეორდება. Dialogue: 0,0:04:50.26,0:04:51.52,Default,,0000,0000,0000,,კონსტრუქტორი კოდი. Dialogue: 0,0:04:51.52,0:04:53.37,Default,,0000,0000,0000,,ეს სამჯერაა დაწერილი. Dialogue: 0,0:04:53.37,0:04:58.04,Default,,0000,0000,0000,,შეგვიძლია უბრალოდ წაშლა? Dialogue: 0,0:04:58.04,0:05:00.84,Default,,0000,0000,0000,,ვცადოთ. Dialogue: 0,0:05:00.84,0:05:03.51,Default,,0000,0000,0000,,როგორც ჩანს არ იმუშავა. Dialogue: 0,0:05:03.51,0:05:07.34,Default,,0000,0000,0000,,ჰოპერი მარცხენა ზედა კუთხეშია,\Nთითქოს ყველაფერი დაავიწყდა. Dialogue: 0,0:05:07.34,0:05:15.88,Default,,0000,0000,0000,,Javascript არ თვლის რომ იგივე კონსტრუქტორი\Nგინდა, რადგან პროტოტიპი მასზე დააფუძნე. Dialogue: 0,0:05:15.88,0:05:19.36,Default,,0000,0000,0000,,საშუალებას გაძლევს შენ თვითონ განსაზღვრო\Nკონსტრუქტორი ამ ობიექტებისთვის. Dialogue: 0,0:05:19.36,0:05:26.40,Default,,0000,0000,0000,,ასევე, იძლევა მარტივ გზას\Nკონსტრუქტორის ობიექტიდან გამოძახებისთვის. Dialogue: 0,0:05:26.40,0:05:27.77,Default,,0000,0000,0000,,ასე მოვიქცეთ: Dialogue: 0,0:05:27.77,0:05:35.47,Default,,0000,0000,0000,,დავწეროთ\Ncreature.callthis,nickname,age,x,y Dialogue: 0,0:05:35.47,0:05:40.60,Default,,0000,0000,0000,,ეს ასეთ რამეს აკეთებს (იმუშავა!), Dialogue: 0,0:05:40.60,0:05:43.68,Default,,0000,0000,0000,,იძახებს არსების\Nფუნქციას და კონსტრუქტორ ფუნქციას. Dialogue: 0,0:05:43.68,0:05:49.02,Default,,0000,0000,0000,,იძახებს ფუნქციას და ეუბნება\Nრომ გამოიძახოს კონსტრუქტორი ფუნქცია, Dialogue: 0,0:05:49.02,0:05:56.97,Default,,0000,0000,0000,,თითქოს ის ობიექტი ჰოპერიდან\Nიყოს ამ არგუმენტებით გამოძახებული. Dialogue: 0,0:05:56.97,0:05:59.43,Default,,0000,0000,0000,,ეს ის არგუმენტებია, რითაც ვიძახებთ ჰოპერს. Dialogue: 0,0:05:59.43,0:06:03.59,Default,,0000,0000,0000,,საბოლოოდ ეს კოდი\Nშესრულდება, თითქოს აქ ეწერა. Dialogue: 0,0:06:03.59,0:06:06.26,Default,,0000,0000,0000,,ჩვენც სწორედ ეს გვინდა. იმუშავა. Dialogue: 0,0:06:06.26,0:06:13.76,Default,,0000,0000,0000,,შეგვიძლია ეს ხაზიც ვინსტონის\Nკონსტრუქტორში გადავაკოპიროთ. Dialogue: 0,0:06:13.76,0:06:16.53,Default,,0000,0000,0000,,მუშაობს! ძალიან კარგი! Dialogue: 0,0:06:16.53,0:06:24.90,Default,,0000,0000,0000,,საერთო თვისებები და ფუნქციები\Nამ ერთ ობიექტის ტიპში მოვაქციეთ Dialogue: 0,0:06:24.90,0:06:28.21,Default,,0000,0000,0000,,და შევქმენით ამ საბაზისო ობიექტზე\Nდაფუძნებული ორი ობიექტის ტიპი. Dialogue: 0,0:06:28.21,0:06:30.98,Default,,0000,0000,0000,,ისინი გარკვეულ ფუნქციებს\Nიღებენ, ზოგს კი თვითონ ამატებენ. Dialogue: 0,0:06:30.98,0:06:36.34,Default,,0000,0000,0000,,ეს ძალიან მოსახერხებელია, რადგან საზიარო\Nფუნქციების შეცვლა ერთ ადგილას შეიძლება. Dialogue: 0,0:06:36.34,0:06:40.30,Default,,0000,0000,0000,,ასაკის შეცვლა რომ\Nგვინდოდეს, მივუწერდით "წლის". Dialogue: 0,0:06:40.30,0:06:43.91,Default,,0000,0000,0000,,ახლა ყველას "წლის" აქვს მიწერილი ასაკთან. Dialogue: 0,0:06:43.91,0:06:49.87,Default,,0000,0000,0000,,შეგვიძლია "ლაპარაკი"\Nფუნქცია "woo" ფუნქციით შევცვალოთ.. Dialogue: 0,0:06:49.87,0:06:57.17,Default,,0000,0000,0000,,რადგან უკვე იხილეთ როგორ იქმნება ობიექტის\Nტიპები და როგორ მუშაობს მემკვიდრეობითობა, Dialogue: 0,0:06:57.17,0:07:01.35,Default,,0000,0000,0000,,მოიფიქრეთ როგორ გამოდგება ეს თამაშების,\Nნახატების, ანიმაციებისთვის და ა.შ. Dialogue: 0,0:07:01.35,0:07:05.26,Default,,0000,0000,0000,,მაგალითად, შეიძლება გქონდეს\Nთამაში და ბევრი ტიპის პერსონაჟი, Dialogue: 0,0:07:05.26,0:07:07.68,Default,,0000,0000,0000,,ყველას შეეძლოს სირბილი\Nმაგრამ მოლოდ ზოგს - ახტომა. Dialogue: 0,0:07:07.68,0:07:11.97,Default,,0000,0000,0000,,ეს მშვენიერი ადგილია ობიექტის\Nტიპებისა და მემკვიდრეობითობისთვის. Dialogue: 0,0:07:11.97,0:07:15.97,Default,,0000,0000,0000,,ალბათ თქვენ კიდევ უამრავი\Nგამოყენების მოფიქრებას შეძლებთ.