PDA

View Full Version : سوال: نوشتن برنامه­ای برای ذخیره و پردازش اطلاعات وسایل نقلیه مختلف



siniyor2012
دوشنبه 09 اردیبهشت 1392, 16:37 عصر
سلام دوستان
میبخشید شاید زشت باشه ولی میشه راجع به این مثال یکم توضیح بدید و راهنماییم کنید.
با تشکر
هر وسیله نقلیه دارای ویژگی­هایی نظیر نام، وزن، مدل (سال ساخت)، حداکثر سرعت، نوع سوخت، گنجایش (برحسب نفر) می­باشد. انواع مختلفی از وسایل نقلیه وجود دارد. وسایل نقلیه هوایی (نظیر هواپیما، هلکوپتر، بالن ...)، زمینی (اتومبیل، دوچرخه، موتورسیکلت، سه­چرخه، درشکه)، وسایل نقلیه دریایی (نظیر قایق، کشتی، ...). همچنین هر یک از این وسایل نیز ممکن است انواع مختلفی داشته باشند (مثلا انواع اتوموبیل: اتوبوس، سواری، وانت، کامیون، تریلی، ...)

هر وسیله نقلیه دارای امکانات مختلفی است، نظیر

امکانی برای چاپ اطلاعات وسیله نقلیه

امکانی برای مقایسه آن وسیله نقلیه با یک وسیله نقلیه (مقایسه از نظر سرعت)

امکانی برای محاسبه زمان لازم جهت پیمودن یک مسافت مشخص با استفاده از آن وسیله نقلیه (با فرض استفاده از حداکثر سرعت)

برنامه­ای بنویسید که با استفاده از آن بتوان انواع مختلفی از وسایل نقلیه ایجاد کرد (از هر نوع وسیله نقلیه حداکثر 10 تا) و از قابلیت­های آن­ها استفاده نمود.

برنامه شما باید دارای این امکانات باشد:

ایجاد یک وسیله نقلیه جدید

مشاهده لیست وسایل نقلیه ایجاد شده

نمایش نام وسایل نقلیه­ای که سرعت­شان از X بیشتر است (مقدار X از ورودی خوانده شود)

چاپ نام وسیله نقلیه­ای که سرعتش از همه بیشتر است

چاپ اطلاعات همه وسایل نقلیه از نوع X (که مقدار X از ورودی خوانده می­شود)

در انجام این پروژه، رعایت اصول برنامه­نویسی شیءگرا و استفاده مناسب و بجا از مفاهیم و امکانات شیءگرایی (نظیر سازنده­ها، وراثت، چندریختی، متدها و کلاس­های انتزاعی، سطوح دسترسی، ....) الزامی است.

javaphantom
سه شنبه 10 اردیبهشت 1392, 21:50 عصر
چیزی که من دارم اینجا می بینم و همچنین نامه ای که به من زدی فهمیدم که شما مشکل در تحلیل و مدل کردن دارید و هیچ ربطی به جاوا یا هر زبان و تکنولوژی نداره. خوب برای اینکه بتونیم این مسئله رو حل کینم بهتر یکم بشینم و تحلیل کنیم و در نهایت یک مدل از توش در بیاریم وبعد بریم سراغ کد نویسی و مدل رو پیاده سازی و در نهایت کار تمام می شه.
با فرض اینکه ما داریم در دنیای شی گرایی تحلیل می کنیم و همه چیز رو شی می بینم و باز بافرض اینکه قوانین دنیای شی گرایی رو بلدیم اینطوری می توینم کار رو ببینم

شیی به نام وسیله نقلیه داریم که اسمشو رو می زاریم Vehicle
در ضمن داریم می بینیم که انواع وسیله نقلیه هم می تونیم داشته باشیم یعنی یکی بالاتر از هر وسیله تقلیه نوع وسلیه نقلیه وجود داره که اسم اون رو می زارمی VehicleType
ارتباط این دوتا یک ارتباط چند به یک هست یعینی از یک نوع وسیله نقلیه می شه چند وسیله نقلیه درست کرد یا instance گرفت.
جالبیش اینکه در خود انواع وسیله نقلیه تنوع وجود و بازم می شه کلاس بندی کرد مثل وسلیه نقلیه هایی که برای مکان یا جای مشخصی کاربرد دارند. مثلا هواپیما برای هواست. و قایق برای دریاست. این هوا و دریا و زمین بازم می تونه یک کلاسی باشه که بالاتر از نوع وسیله نقلیه باشه من اسمشو می زارم VehicleUsageType

به این ترتیب باید بشینی تحلیل کنی من یک نمون ناقص در آوردم برات کد می زارم خودت بقیه اش رو برو جلو درستش کن


public class VehicleType {

private String vehicleTypeCode;
private String vehicleTypeName;
private VehicleUsageType vehicleUsageType;

// getter & setter
}


public class VehicleUsageType {

private String vehicleUsageCode;
private String vehicleUsageName;

// getter & setter
}


public class FuelType {

private String fuelTypeCode;

private String fuelTypeName;

// getter & setter
}



public interface IVehicleAbilities {

/**
*
* @param vehicleCode
* @return
*/
Vehicle getVehicleInformationByVehicle(String vehicleCode);

/**
*
* @param firstVehicleCode
* @param secondVehicleCode
* @return
*/
Vehicle compareVehicles(String firstVehicleCode,String secondVehicleCode);

/**
*
* @param vehicleCode
* @return
*/
Long getMileage(String vehicleCode);


/**
*
* @param vehicleCode
* @return
*/
VehicleType getVehicleType(String vehicleCode);


/**
*
* @param vehicleCode
* @return
*/
FuelType getVehicleFuelType(String vehicleCode);

/**
*
* @param vehicleCode
* @return
*/
VehicleUsageType getVehicleUsageType(String vehicleCode);

}



public class MyCar extends Vehicle implements IVehicleAbilities {

siniyor2012
چهارشنبه 11 اردیبهشت 1392, 10:53 صبح
دوست عزیز javaphantom واقعا ممنون از لطفتون
خیلی کمک کردین
تشکر:لبخندساده: