برنامه نویسی

تفکر در اشیا – انجمن DEV

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

ComputeAndInterpretBMI.java، در اینجا برنامه ای برای محاسبه شاخص توده بدن ارائه می دهد. این کد را نمی توان در برنامه های دیگر استفاده مجدد کرد، زیرا کد در کد موجود است اصلی روش. برای قابل استفاده مجدد، یک روش استاتیک برای محاسبه شاخص توده بدنی به صورت زیر تعریف کنید:

public static double getBMI(double weight, double height)

این روش برای محاسبه شاخص توده بدن برای وزن و قد مشخص مفید است. با این حال، محدودیت هایی دارد. فرض کنید باید وزن و قد را با نام و تاریخ تولد یک فرد مرتبط کنید. می‌توانید متغیرهای جداگانه‌ای را برای ذخیره این مقادیر اعلام کنید، اما این مقادیر به‌طور محکم با هم همراه نیستند. راه ایده آل برای جفت کردن آنها ایجاد یک شی است که شامل همه آنها باشد. از آنجایی که این مقادیر به اشیاء جداگانه گره خورده اند، باید در فیلدهای داده نمونه ذخیره شوند. شما می توانید یک کلاس به نام تعریف کنید BMI همانطور که در شکل زیر نشان داده شده است.

توضیحات تصویر

فرض کنید که BMI کلاس موجود است برنامه زیر یک برنامه آزمایشی ارائه می دهد که از این کلاس استفاده می کند.

توضیحات تصویر

خط 6 شی را ایجاد می کند bmi1 برای کیم یانگ و خط 9 شی را ایجاد می کند bmi2 برای سوزان کینگ. می توانید از روش های نمونه استفاده کنید getName()، getBMI()، و getStatus() برای برگرداندن اطلاعات BMI در a BMI هدف – شی.

را BMI کلاس را می توان به صورت زیر پیاده سازی کرد.

package demo;

public class BMI {
    private String name;
    private int age;
    private double weight; // in pounds
    private double height; // in inches
    public static final double KILOGRAMS_PER_POUND = 0.45359237;
    public static final double METERS_PER_INCH = 0.0254;

    public BMI(String name, int age, double weight, double height) {
        this.name = name;
        this.age = age;
        this.weight = weight;
        this.height = height;
    }

    public BMI(String name, double weight, double height) {
        this(name, 20, weight, height);
    }

    public double getBMI() {
        double bmi = weight * KILOGRAMS_PER_POUND / ((height * METERS_PER_INCH) * (height * METERS_PER_INCH));
        return Math.round(bmi * 100) / 100;
    }

    public String getStatus() {
        double bmi = getBMI();
        if(bmi < 18.5)
            return "Underweight";
        else if(bmi < 25)
            return "Normal";
        else if(bmi < 30)
            return "Overweight";
        else
            return "Obese";
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public double getWeight() {
        return weight;
    }

    public double getHeight() {
        return height;
    }
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

فرمول ریاضی برای محاسبه BMI با استفاده از وزن و قد در پست لینک بالا آورده شده است. روش نمونه getBMI() BMI را برمی گرداند. از آنجایی که وزن و ارتفاع فیلدهای داده نمونه در شی هستند، getBMI() روش می تواند از این ویژگی ها برای محاسبه BMI برای شی استفاده کند.

روش نمونه getStatus() رشته ای را برمی گرداند که BMI را تفسیر می کند. تفسیر نیز در پست لینک داده شده است.

این مثال مزایای پارادایم شی گرا را نسبت به پارادایم رویه ای نشان می دهد. پارادایم رویه ای بر طراحی روش ها تمرکز دارد. پارادایم شی گرا داده ها و روش ها را با هم در اشیا جفت می کند. طراحی نرم افزار با استفاده از پارادایم شی گرا بر روی اشیاء و عملیات روی اشیا تمرکز دارد. رویکرد شی گرا، قدرت پارادایم رویه ای را با یک بعد اضافه ترکیب می کند که داده ها را با عملیات در اشیاء ادغام می کند.

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

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا