پروتکلی برای ارتباطات شبکه که پایهگذار اینترنت و بسیاری از شبکههای محلی است.
وراثت (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 و اسلایدهای محمد سعید صفایی بهرهبرداری کنید.
در این مبحث، به مقدمهای بر برنامهنویسی پرداخته و مفاهیم اساسی آن شامل تعریف برنامهنویسی، اهمیت برنامهنویسی، روشهای ترجمه کد، انواع زبانهای برنامهنویسی، و مهارتها و محیطهای برنامهنویسی بررسی میشود. هدف این جلسه، آشنایی با اصول پایهای برنامهنویسی و درک نحوه انتخاب زبان و محیط مناسب برای نوشتن برنامههای کاربردی است.
پروتکلی برای ارتباطات شبکه که پایهگذار اینترنت و بسیاری از شبکههای محلی است.
تابع الگو به تابعی گفته میشود که نوع دادهای ورودی را به صورت عمومی تعریف میکند و به آن اجازه میدهد که با انواع داده مختلف کار کند.
محاسبات الهام گرفته از بیولوژی به استفاده از اصول و الگوهای موجود در طبیعت برای طراحی سیستمهای محاسباتی اطلاق میشود.
درمان واقعیت افزوده به استفاده از فناوریهای AR برای درمان بیماریها و بهبود کیفیت زندگی بیماران گفته میشود.
اینترنت اشیاء پزشکی (IoMT) به شبکهای از دستگاهها و حسگرهای پزشکی متصل به اینترنت اطلاق میشود که دادهها را برای نظارت بر بیماران ارسال میکنند.
متغیر سراسری متغیری است که در خارج از توابع و بلوکهای کد تعریف میشود و در سراسر برنامه قابل دسترسی است.
روش تقسیمبندی ثابت زیربخشهای شبکه که در آن تمامی زیربخشها از اندازه یکسان برخوردارند.
روش دسترسی که در آن دستگاههای شبکه بهطور دورهای از دستگاه مرکزی درخواست دسترسی به رسانه میکنند.
تخصیص حافظه به معنای اختصاص بخشهای مختلف حافظه به آرایهها یا متغیرها است. تخصیص حافظه برای آرایههای داینامیک در زمان اجرا انجام میشود.
یک بایت معادل 8 بیت است و برای ذخیرهسازی یک کاراکتر در نظر گرفته میشود.
اولین و مهمترین سوئیچ در شبکه که مسئول تعیین بهترین مسیرها برای ارسال دادهها است.
هوش مصنوعی برای امنیت سایبری به استفاده از الگوریتمهای یادگیری ماشین و هوش مصنوعی برای شناسایی و مقابله با تهدیدات سایبری اشاره دارد.
رسانههایی که سیگنالها را از طریق مسیر مشخص هدایت میکنند، مانند کابلهای مسی، فیبر نوری و کابلهای کواکسیل.
روش ارتباطی یک به همه که در آن یک دستگاه دادهها را به تمام دستگاههای شبکه ارسال میکند.
الگوریتمهای هوش جمعی به استفاده از رفتار گروهی موجودات هوش مصنوعی برای حل مسائل پیچیده اشاره دارد.
هوش افزوده به تقویت توانمندیهای انسانی از طریق تکنولوژیهای هوش مصنوعی گفته میشود تا تصمیمگیریهای بهتری صورت گیرد.
هوش مصنوعی برای امنیت سایبری به استفاده از تکنولوژیهای هوش مصنوعی برای شناسایی و جلوگیری از تهدیدات امنیتی اشاره دارد.
کامپیوتر شخصی است که برای استفاده فردی طراحی شده و شامل انواع مختلفی مانند لپتاپ، دسکتاپ و گوشیهای هوشمند است.
ابعاد آرایه به تعداد محورهایی گفته میشود که دادهها در آنها سازماندهی شدهاند. آرایهها میتوانند یکبعدی، دوبعدی، یا چندبعدی باشند.
عملگر مساوی برای مقایسه دو مقدار استفاده میشود تا مشخص شود آیا آنها برابرند یا خیر. در برنامهنویسی از آن برای مقایسه و انتساب دادهها استفاده میشود.
مدلهای مولد به سیستمهایی اطلاق میشود که قادر به ایجاد دادهها یا محتوای جدید مشابه دادههای واقعی هستند.
ساخت دیجیتال به استفاده از فناوریهای دیجیتال برای طراحی و ساخت محصولات فیزیکی و مدلهای پیچیده اطلاق میشود.
تشخیص جعلهای دیجیتال به فرآیند شناسایی و مقابله با تصاویر و ویدیوهای دستکاری شده اطلاق میشود.
فردی که مسئول راهاندازی، پیکربندی و نگهداری شبکههای کامپیوتری است.
روش دسترسی پویا که منابع مانند زمان یا فرکانس بهطور لحظهای و براساس نیاز کاربران تخصیص داده میشود.
سیستمهای شناسایی بیومتریک به استفاده از ویژگیهای بیولوژیکی و رفتاری افراد برای شناسایی و تأیید هویت آنها اطلاق میشود.
روش مکمل دو برای نشان دادن اعداد منفی در سیستمهای دودویی است که با معکوس کردن بیتها و اضافه کردن یک انجام میشود.
اشارهگر تابع به اشارهگری اطلاق میشود که به آدرس تابعی در حافظه اشاره دارد. این ویژگی به شما اجازه میدهد تا به طور داینامیک توابع مختلف را فراخوانی کنید.
متغیر در برنامهنویسی به فضایی در حافظه گفته میشود که برای ذخیره دادهها استفاده میشود. این دادهها میتوانند در طول اجرای برنامه تغییر کنند.
محاسبات شناختی به استفاده از سیستمهای هوش مصنوعی برای شبیهسازی فرایندهای فکری انسانها و حل مسائل پیچیده اشاره دارد.
یک سیستم یا ابزار که تنها ورودیها و خروجیهای آن قابل مشاهده است، اما اطلاعاتی از عملکرد درونی آن در دسترس نیست. در بسیاری از الگوریتمها مانند شبکههای عصبی، از جعبه سیاه برای مدلسازی سیستمهایی استفاده میشود که به طور کامل قابل مشاهده نیستند.
وراثت ویژگیای در برنامهنویسی شیگرا است که به یک کلاس اجازه میدهد ویژگیها و رفتارهای کلاس دیگر را به ارث ببرد.
صف ساختار دادهای است که دادهها را به صورت FIFO (First In, First Out) ذخیره میکند. اولین داده وارد شده، اولین دادهای است که از صف برداشته میشود.
این واژه به سیستمهایی اطلاق میشود که دادههای خارجی را برای قراردادهای هوشمند در بلاکچین فراهم میکنند. این دادهها میتوانند شامل قیمتها، وضعیت آب و هوا، یا دیگر دادههای خارجی باشند.
سینتسایزر صدا به سیستمهایی اطلاق میشود که از الگوریتمهای هوش مصنوعی برای تولید صدای طبیعی و مشابه انسان استفاده میکنند.