[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.78,0:00:06.23,Default,,0000,0000,0000,,წინა გაკვეთილში ვისაუბრეთ\Nობიექტის ტიპების შექმნაზე Dialogue: 0,0:00:06.23,0:00:09.23,Default,,0000,0000,0000,,და მათ ინიციალიზაციაზე კონსტრუქტორებით. Dialogue: 0,0:00:09.23,0:00:13.47,Default,,0000,0000,0000,,ობიექტის ტიპი არაა აუცილებელი\Nმხოლოდ თვისებებთან იყოს ასოცირებული Dialogue: 0,0:00:13.47,0:00:18.81,Default,,0000,0000,0000,,შესაძლოა ასევე მისი ფუნქციონალურობასთან\Nასოცირება. შეხედე სამყაროს ობიექტის ტიპებს Dialogue: 0,0:00:18.81,0:00:26.29,Default,,0000,0000,0000,,მაგალითად, ჩვენ. გვაქვს სიმაღლე, ასაკი,\Nმაგრამ ასევე ვიძინებთ, ვჭამთ, კოდს ვწერთ. Dialogue: 0,0:00:26.29,0:00:30.94,Default,,0000,0000,0000,,გვინდა რომ ეს ფუნქციები\Nიმ ობიექტის ტიპებს შევუსაბამოთ. Dialogue: 0,0:00:30.94,0:00:35.95,Default,,0000,0000,0000,,ამ პროგრამაში, რომელსაც წინა\Nვიდეოში ვაკეთებდით, გვქვს ფუნქცია Dialogue: 0,0:00:35.95,0:00:41.83,Default,,0000,0000,0000,,drawWinston, რომელსაც ორივე ვინსტონ\Nობიექტზე ვიძახებთ. კარგი არ იქნებოდა, რომ Dialogue: 0,0:00:41.83,0:00:48.57,Default,,0000,0000,0000,,ეს პირდაპირ ვინსტონის ობიექტის ტიპს\Nმივაბათ? შეგვიძლია და მარტივია. Dialogue: 0,0:00:48.57,0:00:55.72,Default,,0000,0000,0000,,ჩვენს კონსტრუქტორს ქვემოთ,\Nდავწერთ Winston.prototype, Dialogue: 0,0:00:55.72,0:00:59.23,Default,,0000,0000,0000,,prototype ალბათ ახალი სიტყვაა\Nრომელიც ადრე არ გინახავთ. Dialogue: 0,0:00:59.23,0:01:05.88,Default,,0000,0000,0000,,prototype არის ობიექტის თვისება, რომელსაც\Nშეგვიძლია ფუნქციები მივუკავშიროთ Dialogue: 0,0:01:05.88,0:01:13.31,Default,,0000,0000,0000,,და ნებისმიერ მასზე დაფუძნებულ\Nობიექტს ასევე ექნება ეს ფუნქციები. Dialogue: 0,0:01:13.31,0:01:21.05,Default,,0000,0000,0000,,შეგვიძლია დავწეროთ .prototype, შემდეგ\Nწერტილი და ფუნქციის სახელი, draw უდრის, Dialogue: 0,0:01:21.05,0:01:28.55,Default,,0000,0000,0000,,შემდეგ კი ავიღოთ ჩვენი\NdrawWinston კოდი და ჩავსვათ აქ. Dialogue: 0,0:01:28.55,0:01:35.31,Default,,0000,0000,0000,,ჩვენ ახლა დახატვის ფუნქცია\Nდავუკავშირეთ Winston-ის პროტოტიპს. Dialogue: 0,0:01:35.31,0:01:40.01,Default,,0000,0000,0000,,ეს იმას ნიშნავს, რომ Winston-ის ტიპის\Nობიექტებზე draw()-ს გამოძახება შეგვეძლება. Dialogue: 0,0:01:40.01,0:01:45.41,Default,,0000,0000,0000,,ესეიგი winstonTeen-ზე ან winstonAdult-ზე\Ndraw()-ს გამოძახება უნდა შეგვეძლოს. Dialogue: 0,0:01:45.41,0:01:49.57,Default,,0000,0000,0000,,ასეთ ფუნქციას, რომელიც\Nშეგვიძლია ობიექტზე გამოვიძახოთ, Dialogue: 0,0:01:49.57,0:01:54.83,Default,,0000,0000,0000,,ვუწოდებთ "მეთოდს", ამიტომ ამიერიდან\Nალბათ მეთოდს უფრო ხშირად ვიტყვი. Dialogue: 0,0:01:54.83,0:01:58.27,Default,,0000,0000,0000,,ესეიგი, ეს არის draw მეთოდი. Dialogue: 0,0:01:58.27,0:02:04.10,Default,,0000,0000,0000,,ახლა ამას წავშლით და ვნახოთ\Nშევძლებთ თუ არა draw()-ს გამოძახებას. Dialogue: 0,0:02:04.10,0:02:07.07,Default,,0000,0000,0000,,winstonTeen.draw() Dialogue: 0,0:02:07.07,0:02:13.70,Default,,0000,0000,0000,,კარგი, შეცდომა გვაქვს, გვეუბნება\Nრომ winsObject არ არის განმარტებული. Dialogue: 0,0:02:13.70,0:02:20.53,Default,,0000,0000,0000,,კარგი, აქამდე არგუმენტს drawWinston-ს\Nგადავცემდით, რომელიც Winston ობიექტი იყო Dialogue: 0,0:02:20.53,0:02:26.46,Default,,0000,0000,0000,,ახლა კი ამას აღარ ვაკეთებთ.\Nშეგვიძლია შევცვალოთ გადასაცემად Dialogue: 0,0:02:26.46,0:02:30.82,Default,,0000,0000,0000,,და შემდეგ.. აქ რა უნდა გადავცეთ?\Nუნდა გადავცეთ winstonTeen. Dialogue: 0,0:02:30.82,0:02:38.44,Default,,0000,0000,0000,,იმუშავა, მაგრამ სასაცილო ჩანს.\Nობიექტზე draw-ს ისედაც ვიძახებ. Dialogue: 0,0:02:38.44,0:02:43.96,Default,,0000,0000,0000,,არაა აუცილებელი\Nობიექტის გადაცემაც, გამეორებაა. Dialogue: 0,0:02:43.96,0:02:48.46,Default,,0000,0000,0000,,ესეიგი ეს არ უნდა გავაკეთოთ,\Nამიტომ წავშალოთ აქედან. Dialogue: 0,0:02:48.46,0:02:54.40,Default,,0000,0000,0000,,თუ ობიექტში ვართ, რა შეგვიძლია გამოვიყენოთ\Nრომ დავუკავშირდეთ ობიექტის თვისებებს? Dialogue: 0,0:02:54.40,0:03:00.37,Default,,0000,0000,0000,,შესაძლოა კონსტრუქტორს შეხედოთ და გაიხსენოთ\Nსპეციალური სიტყვა "this" და იფიქროთ: Dialogue: 0,0:03:00.37,0:03:08.57,Default,,0000,0000,0000,,"იქნებ ამის მაგივრად "this" დავწერო!"\Nშევცვალოთ winsObject და დავწეროთ "this". Dialogue: 0,0:03:08.57,0:03:12.95,Default,,0000,0000,0000,,ეს იმიტომ, რომ ახლა ობიექტში ვართ.\Nფუნქცია ობიექტზეა გამოძახებული, Dialogue: 0,0:03:12.95,0:03:16.86,Default,,0000,0000,0000,,ამიტომ "this" მიმდინარე ობიექტს შეეხება. Dialogue: 0,0:03:16.86,0:03:23.27,Default,,0000,0000,0000,,ესეიგი, შეგიძლია დაწერო "this" და მიიღო\Nწვდომა მიმდინარე ობიექტის თვისებებზე. Dialogue: 0,0:03:23.27,0:03:26.72,Default,,0000,0000,0000,,მუშაობს, ხედავ? მაგარია, არა? Dialogue: 0,0:03:26.72,0:03:31.91,Default,,0000,0000,0000,,ესეიგი, ახლა შეგვიძლია\Nდავწეროთ winstonAdult.draw() Dialogue: 0,0:03:31.91,0:03:38.27,Default,,0000,0000,0000,,წვდომა გვაქვს winstonAdult-ის თვისებებზე,\Nრადგან ფუნქცია ამ ობიექტზეა გამოძახებული. Dialogue: 0,0:03:38.27,0:03:45.75,Default,,0000,0000,0000,,ეს არის "this"-ის ძალიან კარგი თვისება,\Nმიუხედავად იმისა ,რომ ზოგჯერ დამაბნეველია. Dialogue: 0,0:03:45.75,0:03:52.03,Default,,0000,0000,0000,,კარგი, გავერთეთ. ახლა კიდევ ერთი მეთოდი\Nდავუმატოთ. კიდევ რა გააკეთოს ვინსტონმა? Dialogue: 0,0:03:52.03,0:04:01.08,Default,,0000,0000,0000,,მოდი, ვალაპარაკოთ. Winston.prototype.talk\Nრომ შეგვეძლოს ბევრი ფუნქციის მიკავშირება. Dialogue: 0,0:04:01.08,0:04:05.24,Default,,0000,0000,0000,,ვათქმევინოთ "მე ვარ ვინსტონი!" Dialogue: 0,0:04:05.24,0:04:13.18,Default,,0000,0000,0000,,შემდეგ დავწერთ this.x+20 და this.y + 150. Dialogue: 0,0:04:13.18,0:04:19.73,Default,,0000,0000,0000,,არაფერი მომხდარა, მაგრამ ეს იმიტომ,\Nრომ ჯერ ეს ფუნქცია არ გამომიძახებია. Dialogue: 0,0:04:19.73,0:04:25.07,Default,,0000,0000,0000,,ახლა teen ვალაპარაკოთ, winstonTeen.talk() Dialogue: 0,0:04:25.07,0:04:30.48,Default,,0000,0000,0000,,მე ვარ ვინსტონი,\Nესეც ასე! და winstonAdult.talk() Dialogue: 0,0:04:30.48,0:04:36.83,Default,,0000,0000,0000,,კარგი, ახლა გვაქვს ვინსტონის ობიექტის\Nტიპი რომელსაც აქვს თვისებები: მეტსახელი, Dialogue: 0,0:04:36.83,0:04:41.41,Default,,0000,0000,0000,,ასაკი, x, y; ასევე,\Nფუნქციონალურობა: ქცევა, მეთოდები; Dialogue: 0,0:04:41.41,0:04:45.03,Default,,0000,0000,0000,,რომლებიც თვისებების მიხედვით განსხვავდება. Dialogue: 0,0:04:45.03,0:04:48.36,Default,,0000,0000,0000,,და შეგვიძლია გამოვიყენოთ winston-ის\Nიმდენი შემთხვევა, რამდენიც გვინდა Dialogue: 0,0:04:48.36,0:04:50.100,Default,,0000,0000,0000,,და მათზე გამოვიძახოთ ეს ნებისმიერი მეთოდი. Dialogue: 0,0:04:50.100,0:04:53.46,Default,,0000,0000,0000,,მაგარია, არა?