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