Saeid Safaei Loader Logo Saeid Safaei Loader Animated
لطفا شکیبا باشید
0

سعیدصفایی سعیدصفایی

سعید صفایی
آشنایی با مفهوم Inheritance

Inheritance

وراثت ویژگی‌ای در برنامه‌نویسی شی‌گرا است که به یک کلاس اجازه می‌دهد ویژگی‌ها و رفتارهای کلاس دیگر را به ارث ببرد.

Saeid Safaei Inheritance

وراثت (Inheritance) یکی از مفاهیم اصلی در برنامه‌نویسی شیءگرا (OOP) است که به یک کلاس این امکان را می‌دهد که ویژگی‌ها و رفتارهای یک کلاس دیگر را به ارث ببرد. این فرآیند باعث می‌شود که کدها قابل استفاده مجدد شوند و ساختارهای پیچیده‌تر به راحتی ایجاد شوند. به طور کلی، وراثت امکان استفاده از کدهای موجود در یک کلاس پایه (superclass) در یک کلاس مشتق‌شده (subclass) را فراهم می‌کند.

در وراثت، یک کلاس مشتق‌شده می‌تواند ویژگی‌ها و متدهای کلاس پایه را به ارث ببرد و در صورت نیاز آن‌ها را تغییر دهد یا گسترش دهد. این ویژگی به برنامه‌نویسان این امکان را می‌دهد که از کدهای قبلی به‌طور مؤثرتر استفاده کنند و سیستم‌های پیچیده‌تر و قابل گسترش‌تری بسازند.

در اینجا مثالی از استفاده از وراثت در زبان Python آورده شده است:

class Animal:
def __init__(self, name):
self.name = name
def speak(self):
return f"{self.name} makes a sound." class Dog(Animal):
def speak(self):
return f"{self.name} barks." class Cat(Animal):
def speak(self):
return f"{self.name} meows." # ایجاد شیء از کلاس‌های مشتق‌شده dog = Dog("Buddy") cat = Cat("Whiskers") print(dog.speak()) # خروجی: Buddy barks. print(cat.speak()) # خروجی: Whiskers meows.

در این مثال، کلاس Animal یک کلاس پایه است که ویژگی name و متد speak را تعریف می‌کند. سپس کلاس‌های Dog و Cat از کلاس Animal مشتق شده و متد speak را بازنویسی کرده‌اند تا رفتار خاص خود را برای هر حیوان مشخص کنند. این نشان‌دهنده وراثت و چندریختی (Polymorphism) است، زیرا هر کلاس مشتق‌شده متد مشابهی به نام speak دارد، اما رفتار آن متفاوت است.

در زبان Java نیز وراثت به این صورت پیاده‌سازی می‌شود:

class Animal {
String name;
public Animal(String name) {
this.name = name;
}
public String speak() {
return this.name + " makes a sound.";
} } class Dog extends Animal {
public Dog(String name) {
super(name); // فراخوانی سازنده کلاس پایه
}
@Override
public String speak() {
return this.name + " barks.";
} } class Cat extends Animal {
public Cat(String name) {
super(name); // فراخوانی سازنده کلاس پایه
}
@Override
public String speak() {
return this.name + " meows.";
} } public class Main {
public static void main(String[] args) {
Dog dog = new Dog("Buddy");
Cat cat = new Cat("Whiskers");


System.out.println(dog.speak()); // خروجی: Buddy barks.
System.out.println(cat.speak()); // خروجی: Whiskers meows.
} }

در اینجا، کلاس Dog و Cat از کلاس پایه Animal به ارث برده‌اند. در کلاس‌های مشتق‌شده از super() برای فراخوانی سازنده کلاس پایه استفاده شده است و متد speak برای هر کلاس به‌طور جداگانه بازنویسی شده است.

وراثت یکی از مهم‌ترین مفاهیم در برنامه‌نویسی شیءگرا است زیرا به شما این امکان را می‌دهد که از کدهای موجود استفاده مجدد کنید و کدهای خود را به شکلی مؤثرتر و قابل نگهداری‌تر سازمان‌دهی کنید. با استفاده از وراثت، شما می‌توانید سیستم‌های پیچیده‌تر و مقیاس‌پذیرتر ایجاد کنید که به راحتی قابل گسترش و تغییر هستند.

برای اطلاعات بیشتر، می‌توانید از سایت saeidsafaei.ir و اسلایدهای محمد سعید صفایی بهره‌برداری کنید.

اسلاید آموزشی

مقدمات برنامه نویسی

مقدمات برنامه نویسی
مبانی کامپیوتر و برنامه سازی

در این مبحث، به مقدمه‌ای بر برنامه‌نویسی پرداخته و مفاهیم اساسی آن شامل تعریف برنامه‌نویسی، اهمیت برنامه‌نویسی، روش‌های ترجمه کد، انواع زبان‌های برنامه‌نویسی، و مهارت‌ها و محیط‌های برنامه‌نویسی بررسی می‌شود. هدف این جلسه، آشنایی با اصول پایه‌ای برنامه‌نویسی و درک نحوه انتخاب زبان و محیط مناسب برای نوشتن برنامه‌های کاربردی است.

مقالات آموزشی برای آشنایی با اصطلاحات دنیای کامپیوتر

شبکه‌های رادیویی شناختی به سیستم‌هایی اطلاق می‌شود که قادر به شناسایی و استفاده از فرکانس‌های رادیویی بدون تداخل با سایر شبکه‌ها هستند.

بلاکچین برای مدیریت هویت به استفاده از شبکه‌های بلاکچین برای ایجاد سیستم‌های شفاف و غیرمتمرکز مدیریت هویت افراد اطلاق می‌شود.

محاسبات لبه موبایل به انجام پردازش داده‌ها در دستگاه‌های موبایل و در نزدیکی محل تولید داده‌ها اطلاق می‌شود.

سیستم‌های دفترکل توزیع‌شده (DLS) به استفاده از شبکه‌های غیرمتمرکز برای ذخیره‌سازی و مدیریت داده‌ها با شفافیت و امنیت اشاره دارد.

محاسبات فضایی به استفاده از فناوری‌ها برای انجام پردازش داده‌ها در فضا یا با استفاده از منابع فضایی گفته می‌شود.

دریاچه‌های داده مکانی برای ذخیره‌سازی و تجزیه و تحلیل مقادیر عظیم داده‌های ساختاریافته و غیرساختاریافته ایجاد می‌کنند.

سوییچ‌هایی که در لایه 2 مدل OSI کار می‌کنند و برای هدایت بسته‌ها از آدرس‌های MAC استفاده می‌کنند.

روش‌هایی که دستگاه‌ها در یک شبکه برای دسترسی به رسانه انتقال (مانند کابل یا امواج رادیویی) استفاده می‌کنند.

خودروهای خودران به خودروهایی اطلاق می‌شود که می‌توانند بدون دخالت انسان حرکت کنند و تصمیمات رانندگی را اتخاذ کنند.

ارجاع به نوعی متغیر اشاره دارد که به یک شیء یا متغیر اصلی اشاره می‌کند. برخلاف اشاره‌گرها، ارجاع‌ها در زمان کامپایل به محل اصلی اشاره می‌کنند.

فناوری پوشیدنی به دستگاه‌هایی اطلاق می‌شود که به کاربران امکان می‌دهند تا به‌طور پیوسته داده‌ها را جمع‌آوری و تجزیه و تحلیل کنند.

پروتکلی برای ارتباطات شبکه که پایه‌گذار اینترنت و بسیاری از شبکه‌های محلی است.

سیستم‌های خودمختار (AS) به سیستم‌هایی اطلاق می‌شود که قادر به تصمیم‌گیری و انجام وظایف به‌طور خودکار بدون نیاز به انسان هستند.

یکی از نخستین شبکه‌های کامپیوتری که به عنوان پیشگام توسعه اینترنت شناخته می‌شود.

برد اصلی کامپیوتر که اجزای مختلف کامپیوتر را به هم متصل می‌کند و ارتباط میان قطعات مختلف را مدیریت می‌کند.

نوع داده‌ای است که برای ذخیره‌سازی یک کاراکتر مانند حرف‌ها یا نشانه‌ها استفاده می‌شود.

هوش مصنوعی توزیع‌شده به سیستم‌هایی اطلاق می‌شود که از چندین عامل هوش مصنوعی برای حل مسائل پیچیده به‌طور همزمان استفاده می‌کنند.

توزیع بار ترافیکی به طور یکنواخت بین منابع مختلف برای جلوگیری از ازدحام در یک مسیر خاص.

بلاکچین در مراقبت‌های بهداشتی به استفاده از فناوری بلاکچین برای مدیریت، ردیابی و تأمین شفافیت در سوابق پزشکی اطلاق می‌شود.

آرایه چندبعدی آرایه‌ای است که بیش از یک بعد دارد. به عنوان مثال، آرایه‌های دو بعدی یا سه بعدی برای ذخیره داده‌های پیچیده‌تر استفاده می‌شود.

موقعیت هر رقم در یک عدد که ارزش آن رقم را تعیین می‌کند. این مفهوم در سیستم‌های عددی با ارزش مکانی به کار می‌رود.

محصورسازی به فرآیند پنهان کردن داده‌ها و تنها اجازه دادن به دسترسی به آن‌ها از طریق متدهای خاص گفته می‌شود.

دستیارهای دیجیتال هوشمند به سیستم‌هایی اطلاق می‌شود که از هوش مصنوعی برای ارائه خدمات به کاربران به‌طور شخصی و کارآمد استفاده می‌کنند.

ویژگی‌ای در پروتکل STP که از دریافت پیام‌های BPDU غیرمجاز جلوگیری می‌کند.

هوش مصنوعی لبه (Edge AI) استفاده از مدل‌های یادگیری ماشین و پردازش داده‌ها را در دستگاه‌های لبه شبکه (نزدیک به کاربر) تسهیل می‌کند.

محدوده به بخش‌هایی از کد اطلاق می‌شود که در آن‌ها یک متغیر یا تابع قابل دسترسی است.

آدرس‌های IP که از subnet mask‌های غیر استاندارد استفاده می‌کنند، ناشی از عملیات‌های Subnetting و Supernetting.

سیستم‌های یادگیری تطبیقی به سیستم‌هایی اطلاق می‌شود که به‌طور مداوم از تجربیات جدید برای بهبود عملکرد خود یاد می‌گیرند.

اطلاعات خامی که وارد کامپیوتر می‌شود تا پردازشی روی آن صورت گیرد. داده‌ها پس از پردازش به صورت اطلاعات ذخیره یا در خروجی نمایش داده می‌شوند.

مدیریت استثنا به فرآیند شناسایی و مدیریت خطاهای غیرمنتظره در حین اجرای برنامه گفته می‌شود. در C++ می‌توان از دستورات try, catch و throw برای مدیریت استثناها استفاده کرد.

عدد مورد استفاده توسط روترها برای تعیین اعتبار و اولویت مسیرهای مختلف که از پروتکل‌های مختلف به مقصدهای یکسان ارسال می‌شود.

فرایند تخصیص آدرس به دستگاه‌های مختلف در شبکه برای شناسایی و ارتباط میان آن‌ها.

اینترنت کوانتومی به شبکه‌ای گفته می‌شود که بر اساس اصول فیزیک کوانتومی برای انتقال داده‌ها با امنیت بالا عمل می‌کند.

روش دسترسی به رسانه که در آن از برخورد جلوگیری می‌شود، به‌ویژه در شبکه‌های بی‌سیم مانند Wi-Fi.

یادگیری انتقالی به روشی برای استفاده از مدل‌های آموزش‌دیده در یک دامنه به‌منظور بهبود عملکرد در دامنه‌های دیگر گفته می‌شود.

بکشید مشاهده بستن پخش
Saeid Safaei Scroll Top
0%