جستجو برای:
  • خانه
  • مهارت های کامپیوتر
    • شبکه
    • ابزار های مایکروسافت افیس
    • ویندوز
  • برنامه نویسی و طراحی سایت
    • کد نویسی سمت کاربر
    • کد نویسی سمت سرور
    • cms های آماده
  • برنامه نویسی
    • اندروید
    • #C
    • بازی سازی
    • جاوا
    • پایتون
  • سورس کد ها
    • پروژه آماده اندروید
    • پروژه اماده unity
    • پروژه آماده سی شارپ
    • پروژه آماده طراحی سایت
  • تماس با ما
  • درباره ما
 
  • 02128423771 - 08736212195
  • info@zarrinlearn.com
  • بلاگ
  • تماس با ما
  • درباره ما
سایت اموزشی زرین لرن
  • خانه
  • مهارت های کامپیوتر
    • شبکه
    • ابزار های مایکروسافت افیس
    • ویندوز
  • برنامه نویسی و طراحی سایت
    • کد نویسی سمت کاربر
    • کد نویسی سمت سرور
    • cms های آماده
  • برنامه نویسی
    • اندروید
    • #C
    • بازی سازی
    • جاوا
    • پایتون
  • سورس کد ها
    • پروژه آماده اندروید
    • پروژه اماده unity
    • پروژه آماده سی شارپ
    • پروژه آماده طراحی سایت
  • تماس با ما
  • درباره ما
0

ورود و ثبت نام

بلاگ

سایت اموزشی زرین لرنبلاگمقالاتانتزاع (Abstraction)

انتزاع (Abstraction)

10 اسفند 1403
ارسال شده توسط سمیرا خانی
مقالات
77 بازدید

انتزاع (Abstraction) یکی از اصول برنامه‌نویسی شی‌گرا است که در جاوا به این معنی است که جزئیات پیاده‌سازی مخفی می‌شوند و تنها ویژگی‌ها و عملکردهای اساسی نمایش داده می‌شوند. این به برنامه‌نویسان اجازه می‌دهد که با استفاده از کلاس‌های انتزاعی (abstract classes) یا رابط‌ها (interfaces)، پیاده‌سازی را از جزئیات مخفی کرده و تنها بر روی عملکرد متمرکز شوند.

۱. کلاس‌های انتزاعی (Abstract Classes)

یک کلاس انتزاعی کلاسی است که نمی‌توان از آن شیء ایجاد کرد. این کلاس ممکن است شامل متدهای انتزاعی (بدون پیاده‌سازی) باشد که در کلاس‌های فرزند پیاده‌سازی می‌شوند. همچنین، ممکن است شامل متدهای غیرانتزاعی (با پیاده‌سازی) باشد.

مثال:

abstract class Vehicle {

        // متد انتزاعی

        abstract void start();

         // متد غیرانتزاعی

         void stop() {

                  System.out.println(“وسیله نقلیه متوقف شد.”);

       }

}

class Car extends Vehicle {

        @Override

        void start() {

              System.out.println(“ماشین روشن شد.”);

        }

}

public class Main {

        public static void main(String[] args) {

                  Vehicle myCar = new Car(); // ایجاد شی از کلاس فرزند

                   myCar.start(); // ماشین روشن شد.

                    myCar.stop(); // وسیله نقلیه متوقف شد.

           }

}

در این مثال، کلاس Vehicle یک کلاس انتزاعی است که یک متد انتزاعی به نام start() دارد. کلاس Car این متد را پیاده‌سازی کرده است. همچنین متد stop() در کلاس والد پیاده‌سازی شده و در کلاس فرزند استفاده می‌شود.


۲. رابط‌ها (Interfaces)

یک رابط مشابه یک کلاس انتزاعی است، اما تمام متدهای آن به صورت پیش‌فرض انتزاعی هستند و نمی‌توانند پیاده‌سازی داشته باشند. یک کلاس می‌تواند چندین رابط را پیاده‌سازی کند.

مثال:

interface Animal {

         void sound(); // متد انتزاعی

}

class Dog implements Animal {

          @Override

           public void sound() {

                      System.out.println(“سگ پارس می‌کند”);

        }

}

class Cat implements Animal {

          @Override

           public void sound() {

                  System.out.println(“گربه میو می‌کند”);

       }

}

public class Main {

       public static void main(String[] args) {

              Animal myDog = new Dog();

              Animal myCat = new Cat();

              myDog.sound(); // سگ پارس می‌کند

              myCat.sound(); // گربه میو می‌کند

        }

}

در اینجا، رابط Animal فقط متد sound() را تعریف می‌کند. کلاس‌های Dog و Cat این رابط را پیاده‌سازی کرده‌اند و هر کدام رفتار خاص خود را دارند.


۳. مزایای انتزاع

  • مخفی کردن جزئیات: فقط عملکردهای اساسی نمایش داده می‌شوند و جزئیات پیاده‌سازی پنهان می‌ماند.
  • سادگی: کد ساده‌تر و خواناتر می‌شود چون جزئیات پیچیده در سطح پایین مخفی است.
  • مقیاس‌پذیری و تغییرپذیری: کد به راحتی قابل تغییر و توسعه است چون تغییرات در پیاده‌سازی در سطح پایین می‌تواند بدون تأثیر بر روی کدهای بالا انجام شود.

تفاوت‌های کلاس انتزاعی و رابط:

  • کلاس انتزاعی می‌تواند شامل متدهایی با پیاده‌سازی باشد، در حالی که در رابط تمام متدها باید انتزاعی باشند (قبل از Java 8).
  • یک کلاس می‌تواند یک کلاس انتزاعی را ارث‌بری کند، ولی می‌تواند چندین رابط را پیاده‌سازی کند.

انتزاع در جاوا به شما این امکان را می‌دهد که برنامه‌های بزرگ و پیچیده را به صورت ساختارمند و ساده‌تر مدیریت کنید. اگر سوالی دارید، خوشحال می‌شوم کمک کنم! 😊

برچسب ها: انتزاع (Abstraction)،کلاس‌های انتزاعی (Abstract Classes)
در تلگرام
کانال ما را دنبال کنید!
Created by potrace 1.14, written by Peter Selinger 2001-2017
در آپارات
ما را دنبال کنید!

مطالب زیر را حتما مطالعه کنید

HTML Computer Code Elements
HTML Responsive Web Design
HTML Layout Elements and Techniques
HTML – The Head Element
HTML File Paths
HTML JavaScript

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
دسته‌ها
  • مقالات
نوشته‌های تازه
  • HTML Computer Code Elements
  • HTML Responsive Web Design
  • HTML Layout Elements and Techniques
  • HTML – The Head Element
  • HTML File Paths
درباره زرین لرن

ما برند زرین لرن را نامگذاری کردیم، زیرا برای ما بهترین علامت های تجاری ساده هستند. مارک ها رشد می کنند در توانایی آنها درک می شود.

  • کردستان - سقز - خیابان جمهوری - شرکت نو آوران زرین هور افزار
  • 08736212195
  • info@zarrinlearn.com
فهرست سفارشی
  • صفحه اصلی اول
  • بلاگ
  • تماس با ما
  • حساب کاربری من
  • درباره ما
  • سبد خرید
  • فروشگاه

طراحی شده توسط گروه فنی مهندسی زریم هور

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت