அப்ஸ்ட்ராக்ட்
கிளாசானது மற்ற கிளாஸ்களுக்கு blue print ஆக செயற்படுகின்றது. இதில் இந்த கிளாசைஇன்
ஹெரிட் செய்யும் கிளாசில் இம்ப்ளிமென்ட் செய்ய வேண்டிய மெத்தட்களின் அறிவிப்பு இருக்கின்றது.ஒன்று
அல்லது ஒன்றுக்கு மேற்பட்ட அப்ஸ்ட்ராக்ட் மெத்தட் உள்ள கிளாஸ் அப்ஸ்ட்ராக்ட் கிளாஸ்
எனப்படுகின்றது.அப்ஸ்ட்ராக்ட் மெத்தட் என்பது மெத்தடின் அறிவிப்பு இருக்கும் ஆனால்
அதம் இம்ப்ளிமெண்டேசன் இருக்காது. அதை இன் ஹெரிட் செய்யும் கிளாஸ் கட்டாயம் அப்ஸ்ட்ராக்ட்
மெத்தடை நடைமுறைப்படுத்த வேண்டும்.பெரிய ஃபங்க்சனல் யுனிட்டில் எல்லா காம்பனன்டுக்கும்
அடிப்ப்டை செய்ற்பாட்டை தர அப்ட்ராக்ட் கிளாஸ் பயன்படுகின்றது.
அப்ஸ்ட்ராக்ச்
கிளாசில் இம்ப்ளிமெண்டேசனுடன் கூடிய மெத்தட்களுமிருக்கலாம். மெத்தட்களின் அறிவிப்பை
,மட்டும் கொண்டது இன்டெர்ஃபேஸ் எனப்படும்.
ஒரு அப்ஸ்ட்ராக்ட்
கிளாசை உருவாக்குவதன் மூலம் எல்லா கிளாஸிற்கும் உண்டான அடிப்படை ஃபங்க்சனலாட்டியை தரக்கூடிய
ஒரு கிளாசை உருவாகியிருப்போம்.
அப்ஸ்ட்ராக்ட்
கிளாசிற்கு ஆப்ஜெக்ட் உருவாக்க முடியாது. ஆனால் அதை இன் ஹெரிட் கிளாஸிற்கு ஆப்ஜெக்ட்
உருவாக்கலாம்.
டிஃபால்ட்
ஆக பைத்தானில் அப்ஸ்ட்ராக்ட் கிளாஸ் உருவாக்க முடியாது.ஆனால் பைத்தான் ஆனதுABC எனப்படும்
மாடூலை கொண்டுள்ளது.ABC என்பது Abstract base class என்பதன் சுருக்கமாகும்.ABC ஆனது
அப்ஸ்ட்ராக்ட் கிளாசில் உள்ள மெத்தடை அப்ஸ்ட்ராக்ட் என மார்க் செய்து அதன் இம்ப்ளிமென்டேசனை
டெரிவ்டு கிளாசில் தருகின்றது.
@abstractmethod
என்ற கீவேர்டு மூலமாக அப்ஸ்ட்ராக்ட் மெத்தட் டெகரேட் செய்யப்படுகின்றது.
சான்று
நிரல்-1
# Python
program showing
# abstract
base class work
from abc import ABC, abstractmethod
class Polygon(ABC):
#
abstract method
def noofsides(self):
pass
class Triangle(Polygon):
#
overriding abstract method
def noofsides(self):
print("I
have 3 sides")
class Pentagon(Polygon):
#
overriding abstract method
def noofsides(self):
print("I
have 5 sides")
class Hexagon(Polygon):
#
overriding abstract method
def noofsides(self):
print("I
have 6 sides")
class Quadrilateral(Polygon):
#
overriding abstract method
def noofsides(self):
print("I
have 4 sides")
# Driver
code
R = Triangle()
R.noofsides()
K = Quadrilateral()
K.noofsides()
R = Pentagon()
R.noofsides()
K = Hexagon()
K.noofsides()
வெளியீடு:.
I have 3 sides
I have 4 sides
I have 5 sides
I have 6 sides
சான்று
நிரல்-2
# Python
program showing
#
abstract base class work
from abc import ABC, abstractmethod
class Animal(ABC):
def move(self):
pass
class Human(Animal):
def move(self):
print("I
can walk and run")
class Snake(Animal):
def move(self):
print("I
can crawl")
class Dog(Animal):
def move(self):
print("I
can bark")
class Lion(Animal):
def move(self):
print("I
can roar")
# Driver
code
R = Human()
R.move()
K = Snake()
K.move()
R = Dog()
R.move()
K = Lion()
K.move()
|
வெளியீடு
I can walk and run
I can crawl
I can bark
I can roar
நன்றி.
முத்து
கார்த்திகேயன்,மதுரை.
9196293 29142
No comments:
Post a Comment