ᲙომპიუტერებიᲞროგრამული უზრუნველყოფა

Აბსტრაქტული კლასის და მეთოდი: აღწერა, მახასიათებლები და თვისებები. რა არის განსხვავებული აბსტრაქტული კლასის ინტერფეისი

ვისაც აქვს რაიმე ცოდნა პროგრამირებაში, კითხვაზე, თუ რატომ არ არსებობს აბსტრაქტული ბაზის კლასი. რა არის მათი მიზანი? როგორ შევქმნათ აბსტრაქტული კლასის? რა უპირატესობა მათ ვთავაზობთ პრაქტიკაში? რატომ ისინი საჭირო პროგრამირების და გარკვეული თვისებები მათი განხორციელების უნდა გაითვალისწინოს?

აბსტრაქტული კლასების

ასე რომ, პროგრამირების მოუწოდა ერთეულის კოდი საფუძველზე, რომელიც ობიექტების ვერ შეიქმნება. აღსანიშნავია, რომ ამ კლასის მემკვიდრეები არ შეიძლება იყოს აბსტრაქტული. აქედან გამომდინარე, შექმნის ობიექტების, მათ საფუძველზე არის გამორიცხული. თუ გავითვალისწინებთ, მაგალითად, Java, ჩვენ ავაშენებთ მოდელი, რომელიც ჩვენ შეგვიძლია აღვწეროთ მშენებლებს კლასში ა მაგრამ მათი გამოყენება, ჩვენ არ შეგვიძლია. გამოსავალი ამ სიტუაციიდან არის განაცხადოს ნებისმიერი ცვლადი მითითება. და თქვენ უნდა იყოს განსაზღვრული, ასე, რომ ეს მიუთითებს ობიექტს კლასის A. ეს არის თუ როგორ შეიძლება გაკეთდეს? ეს დაგვეხმარება მოუტანს. უნდა წარმოქმნილი გათვალისწინებით, რომ მშობელი კლასის ყოველთვის ითვლება უფრო მრავალმხრივი, ვიდრე შთამომავალი. მრავალი პროგრამირების ენებზე გამოიყენება, რათა ავტომატურად. მაგრამ თუ არ არსებობს ნდობა ყოფნა ისეთი მექანიზმი, მაშინ მკაფიოდ უნდა მითითებას ობიექტი.

აბსტრაქტული მეთოდები

რა არიან ისინი? Abstract ზარი იმ მეთოდებს, რომლებიც არ ხორციელდება ამ კლასში. ამდენად, შემდეგ ფრჩხილებში (რომელშიც ჩამოთვლილია არგუმენტები გამოიყენება ჩათვლით) არ მისცეს ფორმის გახსნა (რის მდებარეობს ბლოკი აღწერა მეთოდი), და მხოლოდ მძიმით. ამდენად, ამ შემთხვევაში, არ არსებობს ინფორმაცია, თუ რას აკეთებს. აქ კითხვა შეიძლება სთხოვა: "და რა მეთოდი გარეშე განხორციელება?" ყოველივე ამის შემდეგ, იგი არ უნდა იქნეს გამოყენებული! რა თქმა უნდა, იმ დარგებში, სადაც აღწერილი იყო, ეს არ არის შესაძლებელი. მაგრამ თუ გავითვალისწინებთ იმ სიტუაციის თვალსაზრისით შთამომავალი, მას შეიძლება ეწოდოს. და იგი იმუშავებს კონკრეტული აღწერა არ არის შესაძლებელი ამ კლასში.

მახასიათებლები აბსტრაქტული მეთოდები

არსებობს შეზღუდვები გამოყენებით მათ. განვიხილოთ, მაგალითად Java პროგრამირების ენაზე. არსებობს მოთხოვნა, თუ კლასში აქვს მინიმუმ ერთი ასეთი მეთოდი, ეს უნდა იყოს აბსტრაქტული. ნებისმიერ შემთხვევაში, ეს არის მიზანშეწონილი ისეთი მშენებლობა? მოდით, გვესმოდეს, ეს მაგალითი კლასის pets. დაიწყოს იმის გაგება, რომ არ არსებობს ხმა რომ ისინი გამოქვეყნდა. აქედან გამომდინარე, ყველაზე ზოგადი კლასის არ არის ეფექტიანი განხორციელების საშუალებას. მაგრამ ის ორგანო, რომელიც გარდა მეშვეობით ბლოკები მისთვის. და შემდეგ, როდესაც შექმნა ძაღლი კლასის, კატა ან hamster იქნება გათვალისწინებული ერთი მეთოდი ის ფარგლებში, რომელიც მიეწოდება ყველა თვისებები.

ინტერფეისი

პროგრამირებაში ის ბევრი იარაღები, რომლის მიზანი - რათა დაეხმაროს ადამიანი კარგი ხარისხის პროდუქტი. და განსახილველ თემაზე უნდა დაეთმოს ამ კუთხით, და რომ ყველამ იცის, განსხვავებით აბსტრაქტული კლასის ინტერფეისი. ასე რომ, ბოლო თვისება არის ის, რომ არ შეიძლება იყოს თვისებები და მეთოდები არ არის განსაზღვრული ორგანო. შემოწმებას განსხვავება აბსტრაქტული კლასის ინტერფეისი, უნდა არენაზე უფრო ერთი კონკრეტული. ამდენად, პირველი მემკვიდრეობით, ხოლო მეორე - ხორციელდება. გამოუცდელ ადამიანს ეს შეიძლება, როგორც ჩანს, არათანმიმდევრული. მაგრამ ფაქტია, რომ შეიძლება მემკვიდრეობით მხოლოდ ერთი კლასი, და მიხვდა, - რამდენიც საჭირო. ეს არის ის, რაც არის განსხვავებული ინტერფეისი აბსტრაქტული კლასის. Java კვლავ თვისებები, რომ ეს შეიძლება შეფასდეს, მხოლოდ აბსტრაქტული საჯარო მეთოდები და სტატიკური მუდმივები. მაგრამ ამავე ინტერფეისების ასევე შეიძლება მემკვიდრეობით. აუცილებელია აღვნიშნო, რომ ოპერატორები გამოიყენება საჯარო მეშვეობით საჯარო.

Multiple მემკვიდრეობის ინტერფეისების

ეს ფუნქცია არ არის ხელმისაწვდომი კლასების მრავალი პროგრამირების ენებზე (მაგ, Java, ჩვენს მიერ). ეს არის იმის გამო, რომ მთელი რიგი პრობლემები. როგორც ასეთი ორაზროვნება მიუთითებს იმაზე, რომ მოხდეს მემკვიდრეობას. ეს იყო მიზეზი დანერგვა ინტერფეისი სხვადასხვა მემკვიდრეობა. ეს ნაწილობრივ წყვეტს არსებული პრობლემები, მაგრამ არა ყველა. ასე რომ, მადლობა პრინციპების encapsulation და პოლიმორფიზმი, ინტერფეისები შეიძლება წარმატებით ხორციელდება სხვადასხვა კლასების მიხედვით, სხვადასხვა მეთოდებით (მიუხედავად იმისა, რომ მათ ექნებათ იგივე სახელით). მაგრამ არ უნდა დაგვავიწყდეს არსებული პრობლემების შესახებ. ასე რომ, როდესაც მუშაობის მრავალი ინტერფეისი ექნება ყოველთვის მიუთითოთ, ვინც ჩვენ გვაქვს მხედველობაში. გარდა ამისა, პრობლემები იქნება და როდესაც თქვენ ცდილობენ მუშაობა ამავე სახელწოდების ორი გზა - ამ შემთხვევაში, ისინი ვერ შეძლებს ისარგებლოს. ამიტომ, ასეთ შემთხვევაში აუცილებელია იზრუნოს თანდასწრებით ჯამური გაყიდვები.

აბსტრაქტული მონაცემები

ეს კონცეფცია არის გასაღები პროგრამა. ამ შემთხვევაში, ქვეშ აბსტრაქცია დამოუკიდებელი განხილვის და მესმის გამოყოფის ინტერფეისი და განხორციელება. მოდით შევხედოთ მაგალითს. ჩვენ გვყავს ტელევიზია, რომელიც არის ობიექტის ან მოდული. მას აქვს ინტერფეისი. როგორც ასეთი, ისინი კონტროლი, ისევე, როგორც ხმა და გამოსახულება. უფრო სრულყოფილი ინტერფეისი გამოიყენება, უფრო კომფორტული სატელევიზიო გამოყენება. ჩვენ შეგიძლიათ გადაერთოთ პროგრამების ნებისმიერ ღილაკზე. ამ შემთხვევაში, არ არის საჭირო, რომ ვიფიქროთ ფიზიკური პროცესების ტელევიზიით. მივხედავთ სპეციალისტები, რომლებიც შეაგროვოს მოწყობილობა. ჩვენ გვსურს, ადამიანი მხოლოდ დაინტერესებული თვისებები. დავბრუნდეთ პროგრამირება, ჩვენ შეგვიძლია ვთქვათ, რომ ისინი მსგავსი ინტერფეისი და განხორციელება. გარდა ამისა, თუ პირი დარწმუნებულია თავის ცოდნა, მას შეუძლია "წაშლა" დაფარავს ჩვენი ჰიპოთეტური ტელე და გააუმჯობესოს ის. მიუხედავად იმისა, რომ ეს შეიძლება გამოიწვიოს ადგილობრივი წარმატება, უმეტეს შემთხვევაში, საბოლოო ჯამში, არის უარყოფითი. ამიტომ, მხარი პროგრამირების აკრძალვა ხელმისაწვდომობა და დამალვა შიდა კომპონენტების აბსტრაქტული მონაცემები. პრინციპი ეს მექანიზმი ითვალისწინებს გზაა განზრახ თუ შემთხვევით კორექტირებას შიდა კომპონენტები. და როდესაც საუბარია აბსტრაქტული მონაცემთა ტიპები, საშუალო კომპლექტი კომპლექტი ოპერაციების, რომ შეიძლება შესრულდეს მათ.

ობიექტების

ჩვენ უკვე ვნახეთ, აბსტრაქტული კლასის და ინტერფეისი და ზოგადად. ახლა მოდით დეტალურად ჩვენი ცოდნა. იმისათვის, რომ დაიწყოს ყურადღება ობიექტები. ქვემოთ მათ, ზოგადად, იცის გარემოს რეალობა, რომელიც არსებობს სივრცე და დრო. თუმცა ფორმალურად ობიექტები პროგრამის ფარგლებში ძნელია (ფილოსოფიური და თეორიული თვალსაზრისით). აქედან გამომდინარე, ეს არის იმის გამო, მისი თვისებები. მაგალითად, შემდეგი: ობიექტი შეიძლება ცალსახად განსაზღვრული (უნიკალური სახელი), ეს არის გარკვეული სახელმწიფო და იყენებს გარკვეული ქმედების გამო.

მემკვიდრეობა

მას შემდეგ, რაც თქვენი პროგრამირების ეფუძნება იერარქიული ხე შენობა შორის ურთიერთობების ობიექტები, საკითხი დააყენა იმის შესახებ, რომ ძირითადი თვისებები სახის მშობლის კოდი ბიბლიოთეკების გადაეცა. მემკვიდრეობით გაგება, ურთიერთობა, როცა ვინმე ერთი იმეორებს ქცევის სტრუქტურა და რაღაც. ჩვეულებრივი ცხოვრება, ის გვხვდება ყველგან. ასეთი გადაიდო და პროგრამირების შედარებით აბსტრაქტული ელემენტებს. შედარებისთვის, ის ფაქტი, რომ არ არსებობს ასეთი ორგანოს, როგორც ფრინველი. ეს არის აბსტრაქტული სახელი. როგორც კონკრეტული მაგალითად გამოიწვიოს ჩაი, Nightingale ან sparrow. მადლობა მემკვიდრეობის ჩვენ შეგვიძლია გამოვიყენოთ კლასის ბიბლიოთეკები, ასევე უნდა განვითარდეს მათ კონკრეტული პროგრამა. ეს ინსტრუმენტი საშუალებას გვაძლევს შევქმნათ ახალი ობიექტები, ერთდროულად დასძინა ან შეცვლის თვისებების უკვე შექმნილია. მემკვიდრე იღებს ყველა მეთოდი და სფეროებში თავისი წინაპარი და იძენს საკუთარი ატრიბუტები, საჭიროების შემთხვევაში. იმის გამო, რომ არსებობს აბსტრაქტული ელემენტები და პრინციპი მემკვიდრეობის, არსებობს საკმარისი შესაძლებლობები მოდიფიკაცია ფარგლებში ობიექტზე ორიენტირებული პროგრამირების. გარდა ამისა, იგი საშუალებას მოქნილი მიდგომა პრობლემის გადაჭრის. როცა მემკვიდრეობით ახალი კლასის გადაცემული მონაცემების და ფუნქციები.

პოლიმორფიზმი

აუცილებელია იგივე ფუნქცია უნდა გადაწყვიტოს სხვადასხვა სახის პრობლემები. ამ შემთხვევაში უზრუნველყოფს ყოფნა შესაძლებლობა სხვადასხვა ქმედება, რომლის შინაარსი იქნება დამოკიდებული ტიპის ობიექტი, რომელიც სამუშაო კეთდება. Under პოლიმორფიზმი მესმის თვისებები ელემენტები, რომლებიც საერთო მშობელი, შეასრულოს მსგავსი სემანტიკური მნიშვნელობა პრობლემის სხვადასხვა გზები. ჩვენ მიაპყროს ანალოგიით ცხოველები. არსებობს აქცია - აწარმოებს. ჩვენ ყველამ ვიცით, თუ როგორ ხდება. მაგრამ სხვადასხვა ცხოველები (ლომი, სპილო, შიმპანზე, crocodile, კუს) ეს ქმედება განხორციელდება სხვადასხვა გზები. ამ შემთხვევაში, მათი მოძრაობა პასუხისმგებელია დეველოპერი, რომელიც საჭიროების შემთხვევაში შეიძლება გამოიწვიოს კონკრეტულ შემთხვევაში გარკვეული სიტუაციიდან, ალგორითმი და განხორციელებაში იგი წარმატებით. ეს კეთდება გამოყენებით კომპლექტი მეთოდები. ამავე დროს ყოველი კლასის პროგრამისტი განსაზღვრავს რომელიც ობიექტის თვისებები რომლებიც თან ახლავს. იცვლება რამე შთამომავლობაში, თქვენ შეგიძლიათ კონკრეტული, სასურველი ქმედება ამ შემთხვევაში. ასეთი ეფექტი ეწოდება პოლიმორფიზმი ობიექტები. ზოგადად, აბსტრაქტული კლასის არის ძალიან სასარგებლო ინსტრუმენტია პროგრამირების.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ka.unansea.com. Theme powered by WordPress.