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

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

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

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 و اسلایدهای محمد سعید صفایی بهره‌برداری کنید.

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

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

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

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

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

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

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

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

درج به معنای افزودن داده‌ها به ساختارهای داده‌ای مانند آرایه‌ها یا لیست‌ها است.

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

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

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

دستگاه‌های ورودی مانند موس و کیبورد که اطلاعات را به کامپیوتر وارد می‌کنند.

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

یادگیری خود-نظارتی یک روش یادگیری ماشین است که در آن مدل‌ها از داده‌ها بدون برچسب‌های صریح یاد می‌گیرند.

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

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

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

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

الگوریتم‌های حفظ حریم خصوصی به استفاده از روش‌های پیچیده برای حفاظت از داده‌های شخصی و جلوگیری از دسترسی غیرمجاز اطلاق می‌شود.

سیگنالی که به صورت پیوسته تغییر می‌کند و معمولاً به صورت موج سینوسی نمایش داده می‌شود.

تابع اصلی در برنامه‌های C++ است که برنامه از آن شروع به اجرا می‌کند. این تابع به طور معمول به صورت int main تعریف می‌شود.

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

عملگر مودولو برای به‌دست آوردن باقی‌مانده یک تقسیم استفاده می‌شود. به عنوان مثال، 7 % 3 برابر با 1 است.

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

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

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

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

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

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

فرایند برچسب‌گذاری بسته‌های داده در شبکه‌های اترنت برای شناسایی VLAN که بسته به آن تعلق دارد.

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

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

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

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

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

الگوریتمی که برای یافتن کوتاه‌ترین مسیر از یک گره به سایر گره‌ها در گراف‌ها استفاده می‌شود و در پروتکل‌های مسیریابی Link State کاربرد دارد.

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

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

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

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