بیایید مثالی بزنیم ،
- class CopyArray {
- public static void main(String[] args) {
- int [] numbers = {1, 2, 3, 4, 5, 6};
- int [] positiveNumbers = numbers; // copying arrays
- for (int number: positiveNumbers) {
- System.out.print(number + “, “);
- }
- }
- }
خروجی
۱, ۲, ۳, ۴, ۵, ۶
اگرچه به نظر می رسد این روش برای کپی کردن آرایه ها کاملا کارآمد است ، اما مشکلی در این مورد وجود دارد.
اگر عناصر یک آرایه را در مثال بالا تغییر دهید ، عناصر مربوط به آرایه دیگر نیز تغییر می کند.
- class AssignmentOperator {
- public static void main(String[] args) {
- int [] numbers = {1, 2, 3, 4, 5, 6};
- int [] positiveNumbers = numbers; // copying arrays
- numbers[0] = -1;
- for (int number: positiveNumbers) {
- System.out.print(number + “, “);
- }
- }
- }
خروجی
-۱, ۲, ۳, ۴, ۵, ۶
هنگامی که اولین عنصر آرایه numbers به -۱ تغییر می کند، اولین عنصر آرایه positiveNumbers نیز به -۱ تبدیل می شود. به این دلیل که هر دو آرایه به یک شیء آرایه یکسان اشاره دارند.
به این کار کپی سطحی گفته می شود.
با این حال ، بیشتر اوقات ، به جای کپی سطحی ، به کپی عمیق نیاز داریم. یک کپی عمیق مقادیر ایجاد شی آرایه جدید را کپی می کند.
جاوا یک زبان برنامه نویسی شی گرا (OOP) است. در این آموزش با شی گرایی و نحوه ایجاد کلاس و اشیاء دلخواه در برنامه آشنا می شوید.
جاوا یک زبان برنامه نویسی شی گرا است و این امکان را به شما می دهد تا با ایجاد اشیاء ، مشکلات پیچیده را به مجموعه های کوچک تر تقسیم کنید. این اشیاء دو ویژگی دارند:
بیایید چند مثال بزنیم:
۱- لامپ یک شی است
۲- دوچرخه یک شی است