تصویری: نیاز به کلاس های انتزاعی و روش های انتزاعی چیست؟
2024 نویسنده: Lynn Donovan | [email protected]. آخرین اصلاح شده: 2023-12-15 23:46
کلاس های انتزاعی . خلاصه (که جاوا با آن پشتیبانی می کند چکیده کلمه کلیدی) به این معنی است که کلاس یا روش یا فیلد یا هر چیز دیگری را نمی توان در جایی که تعریف کرد نمونه کرد (یعنی ایجاد کرد). یک شیء دیگر باید مورد مورد نظر را نمونه سازی کند. اگر شما یک چکیده کلاس ، شما نمی توانید یک شی را از آن نمونه برداری کنید.
در این زمینه کلاس های انتزاعی چه فایده ای دارند؟
هدف یک کلاس انتزاعی تعریف رفتار مشترکی است که می تواند توسط چندین زیر کلاس به ارث برده شود، بدون اینکه کل آن را پیاده سازی کند کلاس . در سی شارپ، چکیده کلمه کلیدی هر دو را مشخص می کند کلاس انتزاعی و یک روش مجازی خالص.
علاوه بر بالا، تفاوت بین کلاس انتزاعی و روش انتزاعی چیست؟ آ روش که با استفاده از کلمه کلیدی اعلام می شود چکیده یک نامیده می شود روش انتزاعی . روش های انتزاعی فقط اعلامیه است و اجرا نخواهد شد. یک جاوا کلاس حاوی یک کلاس انتزاعی باید به عنوان اعلام شود کلاس انتزاعی . یک روش انتزاعی فقط می تواند یک اصلاح کننده دید، عمومی یا محافظت شده را تنظیم کند.
بنابراین، آیا وجود متد انتزاعی در کلاس انتزاعی اجباری است؟
این نیست لازم است برای یک کلاس انتزاعی به روش انتزاعی دارند . جاوا کلاس انتزاعی می تواند اینترفیس ها را حتی بدون ارائه اینترفیس پیاده سازی کند مواد و روش ها . جاوا کلاس انتزاعی برای ارائه مشترک استفاده می شود روش پیاده سازی به همه زیر کلاس ها یا ارائه اجرای پیش فرض.
روش های انتزاعی چیست؟
یک روش انتزاعی هست یک روش که اعلام شده است، اما هیچ اجرائی ندارد. خلاصه کلاسها ممکن است نمونهسازی نشوند و برای ارائه پیادهسازی به زیر کلاسها نیاز دارند روش های انتزاعی . بیایید به یک مثال از یک نگاه کنیم چکیده کلاس و یک روش انتزاعی.
توصیه شده:
آیا کلاس انتزاعی می تواند اصلاح کننده های دسترسی داشته باشد؟
یک کلاس جاوا حاوی یک کلاس انتزاعی باید به عنوان کلاس انتزاعی اعلام شود. یک روش انتزاعی فقط میتواند یک اصلاحکننده دید، عمومی یا محافظت شده را تنظیم کند. یعنی یک روش انتزاعی نمی تواند اصلاح کننده ایستا یا نهایی را به اعلان اضافه کند
مزیت کلاس انتزاعی در جاوا چیست؟
مزیت استفاده از کلاس انتزاعی این است که می توانید چندین کلاس مرتبط را به عنوان خواهر و برادر در کنار هم قرار دهید. گروه بندی کلاس ها با هم برای سازماندهی و قابل فهم نگه داشتن یک برنامه مهم است. کلاس های انتزاعی الگوهایی برای کلاس های خاص آینده هستند
آیا رابط CAN می تواند روش های غیر انتزاعی داشته باشد؟
متدهای واسط طبق تعریف عمومی و انتزاعی هستند، بنابراین نمی توانید متدهای غیرانتزاعی را در رابط خود داشته باشید. در جاوا، متدهای رابط به طور پیش فرض عمومی و انتزاعی هستند. بنابراین گزینه اول تمرین بد است. نکته این است که شما نمی توانید از روش های غیرانتزاعی در داخل رابط استفاده کنید، زیرا آنها به طور پیش فرض انتزاعی هستند
تفاوت بین کلاس انتزاعی و روش انتزاعی چیست؟
روش های انتزاعی فقط اعلان هستند و پیاده سازی نخواهد داشت. یک کلاس جاوا حاوی یک کلاس انتزاعی باید به عنوان کلاس انتزاعی اعلام شود. یک روش انتزاعی فقط میتواند یک اصلاحکننده دید، عمومی یا محافظت شده را تنظیم کند. یعنی یک روش انتزاعی نمی تواند اصلاح کننده ایستا یا نهایی را به اعلان اضافه کند
آیا کلاس انتزاعی می تواند متدهای غیر انتزاعی داشته باشد؟
بله، ما می توانیم یک کلاس انتزاعی بدون Abstract Methods داشته باشیم زیرا هر دو مفهوم مستقل هستند. اعلان چکیده کلاس به این معنی است که نمی توان آن را به تنهایی نمونه سازی کرد و فقط می تواند زیر کلاس قرار گیرد. اعلان یک متد انتزاعی به این معنی است که Method در زیر کلاس تعریف می شود