View Full Version : سوال: استفاده از آرایه
سایانا
سه شنبه 05 فروردین 1393, 10:33 صبح
ما در زبان c زمانی که میخواستیم آرایه ای رو که هر خونه اش نوع خاصی بود رو استفاده کنیم یک ساختار (stract) ایجاد میکردیم وآرایه رو از نوع ساختارمون تعریف میکردیم.من حالا نیاز دارم که چنین آرایه ای رو در جاوا ایجاد کنم.تا اونجا که میدونم باید به جای ساختار از کلاس استفاده کنم. اما نمیدونم چطور باید چنین چیزی رو تعریف و ازش استفاده کنم.لطفا راهنماییم کنید.
cups_of_java
سه شنبه 05 فروردین 1393, 11:58 صبح
Class Ball {
String color;
}
و بعد توی همون کلاس یا یه کلاس دیگه یه تابع main بزارید و توش:
Ball[] balls = new Ball[ 5 ];
balls[0] = new Ball();
...
koosha_es
سه شنبه 05 فروردین 1393, 23:19 عصر
ما در زبان c زمانی که میخواستیم آرایه ای رو که هر خونه اش نوع خاصی بود رو استفاده کنیم یک ساختار (stract) ایجاد میکردیم وآرایه رو از نوع ساختارمون تعریف میکردیم.من حالا نیاز دارم که چنین آرایه ای رو در جاوا ایجاد کنم.تا اونجا که میدونم باید به جای ساختار از کلاس استفاده کنم. اما نمیدونم چطور باید چنین چیزی رو تعریف و ازش استفاده کنم.لطفا راهنماییم کنید.
اگه سوالو درست فهمیده باشم ArrayList این امکان رو به شما میده
vahid-p
چهارشنبه 06 فروردین 1393, 04:19 صبح
حتی نیازی به ArrayList هم نیست. مزیت ArrayList به اینه که سایزش متغیره و نیازی به تعیین سایز از ابتدا نیست. ولی اگر سایزش مشخصه میتونی از خود آرایه استفاده کنی.
با این تفاوت که بستگی داره که عناصر آرایه ارتباطی به هم دارند یا نه. اگر هیچ ارتباطی به هم ندارند، آرایه رو از نوع Object تعریف کنید، چون بلاخره هر کلاسی فرزند Object است. یا اگر با هم مرتبطند یعنی مثلا یک کلاس به نام "میوه" داری و کلاس های دیگری مثل "سیب" و "پرتقال" و... از اون ارث بردن اونوقت میتونی آرایت رو از نوع کلاس پدر انتخاب کنی و اینطوری میتونی تنها این کلاس ها رو در آرایه قرار بدی.
برای کلاس های زیر رو داریم :
public class Fruit {
...
}
public class Apple extends Fruit {
...
}
public class Orange extends Fruit {
...
}
حالا میتونیم یک آرایه از نوع Fruit تعریف کنیم و خودش و کلاس هایی که از اون ارث بردن رو new کنیم.
public static void main {
Fruit fruits[];
fruits=new Fruit[10];
fruits[0]=new Fruit();
fruits[1]=new Apple();
fruits[2]=new Orange();
}
سایانا
چهارشنبه 06 فروردین 1393, 07:41 صبح
از راهنمایی های مفید هر سه متشکرم.:لبخند:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.