کپسوله سازی فرآیند بسته بندی کد و دیتا در یک واحد می باشد درست مانند کپسول که متشکل از چند دارو می باشد. برای اینکه یک کلاس را کپسوله کنیم، لازم است که تمام فیلدها را خصوصی تعریف کنیم و از متدهای getter و setter برای تغییر آنها بهره ببریم. از Java Bean می توان به عنوان یک کلاس کاملا کپسوله نام برد.
مثال زیر را که شامل یک فیلد و متدهای getter و setter آن می باشید را نگاه کنید:
مثال:
//save as Student.java package com.javatpoint; public class Student{ private String name; public String getName(){ return name; } public void setName(String name){ this.name=name } }
//save as Test.java package com.javatpoint; class Test{ public static void main(String[] args){ Student s=new Student(); s.setName("vijay"); System.out.println(s.getName()); } }
خروجی:
Output: vijay
به طور معمول، آرایه مجموعه ای عناصر با نوع یکسان است که دارای خانههای حافظه پشت سر هم می باشد. تعداد خانه های آرایه مقدار ثابتی می باشد و شماره خانه های آرایه از صفر شروع می شود.
مزایای استفاده از آرایه
اما مشکل آرایه این می باشد که سایز آن ثابت است و در صورتی که هنگام اجرای برنامه به سایز بیشتری نیاز باشد نمی توان به خانه های آرایه اضافه کرد. برای حل این مشکل از چهارچوب مجموعه (collection) در جاوا استفاده شده است.
در جاوا دو نوع آرایه وجود دارد:
سینتکس تعریف آرایه در جاوا:
dataType[] arr; (or) dataType []arr; (or) dataType arr[];
آغاز آرایه
arrayRefVar=new datatype[size];
مثال:
class Testarray{ public static void main(String args[]){ int a[]=new int[5];//declaration and instantiation a[0]=10;//initialization a[1]=20; a[2]=70; a[3]=40; a[4]=50; //printing array for(int i=0;i<a.length;i++)//length is the property of array System.out.println(a[i]); }}
خروجی:
Output: 10 20 70 40 50
در صورتی که بخواهیم، یک آرایه را بهتر با اطلاعات پر کنیم آنگاه داریم:
به مثال زیر دقت کنید:
مثال:
int a[]={33,3,4,5};//declaration, instantiation and initialization
class Testarray1{ public static void main(String args[]){ int a[]={33,3,4,5};//declaration, instantiation and initialization //printing array for(int i=0;i<a.length;i++)//length is the property of array System.out.println(a[i]); }}
خروجی:
class Testarray1{ public static void main(String args[]){ int a[]={33,3,4,5};//declaration, instantiation and initialization //printing array for(int i=0;i<a.length;i++)//length is the property of array System.out.println(a[i]); }}
یک آرایه را می توان به عنوان آرگومان به یک متد داد تا عملیات دلخواه بر روی آن صورت گیرد. در مثال پایین کوچکترین عدد موجود در یک آرایه را پیدا می کنیم:
مثال:
class Testarray2{ static void min(int arr[]){ int min=arr[0]; for(int i=1;i<arr.length;i++) if(min>arr[i]) min=arr[i]; System.out.println(min); } public static void main(String args[]){ int a[]={33,3,4,5}; min(a);//passing array to method }}
خروجی:
3
سینتکس تعریف:
dataType[][] arrayRefVar; (or) dataType [][]arrayRefVar; (or) dataType arrayRefVar[][]; (or) dataType []arrayRefVar[];
آغاز آرایه:
int[][] arr=new int[3][3];//3 row and 3 column
arr[0][0]=1; arr[0][1]=2; arr[0][2]=3; arr[1][0]=4; arr[1][1]=5; arr[1][2]=6; arr[2][0]=7; arr[2][1]=8; arr[2][2]=9;
مثال:
class Testarray3{ public static void main(String args[]){ //declaring and initializing 2D array int arr[][]={{1,2,3},{2,4,5},{4,4,5}}; //printing 2D array for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ System.out.print(arr[i][j]+" "); } System.out.println(); } }}
خروجی:
Output:1 2 3 2 4 5 4 4 5
برای بدست آوردن نام کلاس یک آرایه، یک کلاس پروکسی تعریف میکنیم و از متدهای getClass و getName استفاده می نماییم.
مثال:
class Testarray4{ public static void main(String args[]){ int arr[]={4,4,5}; Class c=arr.getClass(); String name=c.getName(); System.out.println(name); }}
خروجی:
I
می توان به کمک متد arraycopy از کلاس System یک کلاس را کپی کرد.
سینتکس:
public static void arraycopy( Object src, int srcPos,Object dest, int destPos, int length )
مثال:
class TestArrayCopyDemo { public static void main(String[] args) { char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e', 'i', 'n', 'a', 't', 'e', 'd' }; char[] copyTo = new char[7]; System.arraycopy(copyFrom, 2, copyTo, 0, 7); System.out.println(new String(copyTo)); } }
خروجی:
caffein
در مثال زیر طرز جمع زدن دو ماتریس را می بینیم:
مثال:
class Testarray5{ public static void main(String args[]){ //creating two matrices int a[][]={{1,3,4},{3,4,5}}; int b[][]={{1,3,4},{3,4,5}}; //creating another matrix to store the sum of two matrices int c[][]=new int[2][3]; //adding and printing addition of 2 matrices for(int i=0;i<2;i++){ for(int j=0;j<3;j++){ c[i][j]=a[i][j]+b[i][j]; System.out.print(c[i][j]+" "); } System.out.println();//new line } }}
خروجی:
Output:2 6 8 6 8 10
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.