می شه راجع به نوع داده Object توضیح بدین؟ چی هست؟ کاربردش چیه؟
سلام.
Object یک کلاس پدر در بیشتر زبانهای برنامه نویسی هست و علتش بخاطر شی گرایی هست. اگر دقت کرده باشید هر class که میسازید و یا کلاس هایی که در زبان دارت وجود داره، متد هایی مثل toString,hash و.. به صورت پیشفرض داره. علتش این هست که این کلاسها به صورت ضمنی از کلاس Object ارث میبرن.
یلدا محصلی۰۵ آذر ۱۴۰۱، ۱۸:۲۶
ممنون
اما اینکه با متد as یک متغیر از نوع مثلا int رو به object تبدیل کنیم چه قابلیت جدیدی برای اون متغیر ایجاد میکنه؟
با توجه به اینکه نوع داده object در مبحث دادهها معرفی نشده و مرجعی برای اون ندیدم اگه میشه راجع به این نوه داده بیشتر توضیح بدین
رحمان۰۵ آذر ۱۴۰۱، ۲۰:۳۵
این تبدیل باعث میشه شما به توابع و ویژگی هایی که مربوط به int هست، دسترسی داشته باشید؛ مثلا بررسی زوج و فرد بودن اون عدد و موارد این چنینی دیگه. یا اینکه بتونید عملیات مربوطه رو روی اون اعمال کنید.
هر کلاس و موجودیتی که در دارت (و هر زبان شی گرا) وجود داره و یا توسط برنامه نویس تعریف میشه به طور ضمنی از این کلاس ارث میبره. و دیگه نیازی نیست برای تمامی کلاسها hashCode یا toString رو تعریف کنید. اینها وجود دارند و در صورت نیاز برنامه نویس اون رو override میکنه.
توضیح خاصی براش وجود نداره که نیاز باشه سرفصلی به اون اختصاص داده باشه. دو توضیحی که در ادامه اومده شاید بهتون کمک کنه. ضمن اینکه توصیه میکنم در مورد شی گرایی هم مطالعات عمیقتری داشته باشید.
1. Dart is object-oriented programming, and everything is treated as an object in Dart. An object is a variable or instance of the class used to access the class's properties. Objects have two features - state and behavior. Suppose a man is an object with a state (name, age, health) and behavior (walking, running, and sleeping). Programming objects are theoretically similar to the real-life objects; they also have state and behavior. An object is created from a template which is known as class.
2. سوپرکلاس هر کلاس یک Object است که پیادهسازی پیشفرض برخی تابعهای از پیش تعریف شده مانند ()toString و getter مربوط به hasCode را ارائه میکند که به نوبه خود کد hash یک شیء را بازگشت میدهد.