CodeGym /Java Blog /এলোমেলো /পুরাতন স্তর 05
John Squirrels
লেভেল 41
San Francisco

পুরাতন স্তর 05

এলোমেলো দলে প্রকাশিত

আমি কি সফটওয়্যার ডেভেলপার হতে পারি?

পুরাতন স্তর 05 - 1সামুদ্রিক নীতি বলে: আপনি যদি শারীরিকভাবে উপযুক্ত পুরুষ বা মহিলা খুঁজে পান তবে আপনি তাকে বা তাকে একটি অনন্য যোদ্ধা করতে পারেন, তাদের সঠিক প্রশিক্ষণ এবং শিক্ষা প্রদান করে। প্রোগ্রামিং গিটার বাজানো, সাঁতার কাটা বা বাইক চালানোর মতোই দক্ষতা। মানুষ জন্মগতভাবে বাইকার নয়। যখন আমি আমার বন্ধুদের দেখি, যারা আমার চেয়ে দ্বিগুণ পরিশ্রম করে এবং চারগুণ কম টাকা পায়, তখন আমি নিম্নলিখিত কথোপকথন শুরু করি: — আপনি কি একজন প্রোগ্রামার হিসেবে কাজ করতে চান? আপনি সত্যিই স্মার্ট. সম্ভবত, আপনি কেবল আপনার জায়গায় নেই?

কেন সফটওয়্যার উন্নয়ন?

একজন ব্যক্তিকে প্রোগ্রামিং শেখানো শুরু করার আগে, আমরা আরও ভালভাবে খুঁজে বের করব, এটি তাকে কী দেয়।

1 সহজ এবং আকর্ষণীয় কাজ।

সফটওয়্যার ইঞ্জিনিয়ার একটি সহজ এবং আকর্ষণীয় কাজ। এটি সৃজনশীলতার জন্য দুর্দান্ত জায়গা রয়েছে। আমি এটা ভালোবাসি. প্রথমে আমি এই ভেবে পাগল হয়ে গিয়েছিলাম যে আমি যা পছন্দ করি তা করি এবং এর জন্য অর্থ প্রদান করি। কিন্তু তারপরে আমি অবশেষে এটিতে অভ্যস্ত হয়েছি।

2 এটা ভাল অর্থ প্রদান করা হয়.

আমি কেবল আমার বন্ধুদের 5 বছরের কাজের মধ্যে নিজেদের গাড়ি এবং বাড়ি কিনতে দেখে আনন্দ পাই।

3 নমনীয় ঘন্টা।

একটি কঠোর কাজের সময়সূচী একটি বাজে জিনিস। যে কোন ব্যক্তি ভিড়ের সময় ট্রাফিক জ্যামে পড়েছেন বা 5 মিনিট দেরি করার জন্য জরিমানা পেয়েছেন তিনি এটি নিশ্চিত করতে পারেন। এবং সকাল 11 টায় কর্মস্থলে পৌঁছাতে এবং বিকাল 5 টায় রওনা হওয়া সম্পর্কে কী? বেশিরভাগ প্রোগ্রামারদের জন্য এটি একটি স্বাভাবিক সময়সূচী। শুধু আপনার কাজ করুন এবং কেউ একটি ক্রস শব্দ বলবে না। এমনকি আপনি বেশিরভাগ কোম্পানিতে বাড়িতে কাজ করতে পারেন। আপনি সর্বদা আপনার নিয়োগকর্তার সাথে একটি যুক্তিসঙ্গত চুক্তিতে আসতে পারেন।

4 পেশাগত বৃদ্ধি।

বেশিরভাগ কোম্পানিতে আপনাকে ভাল অর্থ প্রদানের জন্য ক্যারিয়ারের সিঁড়িতে আরোহণ করতে হবে। একজন সফটওয়্যার ডেভেলপারকে শুধুমাত্র একজন সফটওয়্যার ডেভেলপার হতে হবে। আপনাকে একজন ডেভেলপার থেকে ম্যানেজার হওয়ার জন্য পুনরায় যোগ্যতা অর্জন করতে হবে না বা অগ্রণী অবস্থান নেওয়ার চেষ্টা করতে হবে না। আপনাকে যা করতে হবে তা হল পেশাদারভাবে বৃদ্ধি। 5 থেকে 10 বছরের অভিজ্ঞতাসম্পন্ন বিকাশকারীরা রাজকীয়ভাবে অর্থ প্রদান করেন।

5 উচ্চ আন্তর্জাতিক গতিশীলতা.

বিশ্বে তিনটি উচ্চ বেতনের পেশা রয়েছে: একজন আইনজীবী, একজন ডাক্তার এবং একজন সফটওয়্যার ডেভেলপার। বিদেশে কর্মরত আইনজীবীদের জন্য এটি একটি বাস্তব চ্যালেঞ্জ: বিভিন্ন আইন, মামলা-আইন ইত্যাদি। একজন ডাক্তারকে ভাষা শিখতে হয়, অন্যান্য চিকিৎসা মান এবং পরীক্ষায় উত্তীর্ণ হতে হয়। একজন বিকাশকারীকে অতিরিক্ত কিছু শিখতে হবে না। একই ভাষা। একই মান. অধিকাংশ সময় এমনকি ক্লায়েন্টদের জন্য একই.

কেন জাভা?

নিম্নলিখিত তিনটি বিষয় আমাকে জাভা বিকাশকারীদের জন্য লোকেদের পুনরায় প্রশিক্ষণ দিতে বাধ্য করেছে।

1. জাভা — শেখার জন্য সবচেয়ে সহজ ভাষাগুলির মধ্যে একটি।

একজন ব্যক্তি যিনি সবেমাত্র স্কুল শেষ করেছেন তিনি 3 থেকে 6 মাসের মধ্যে এটি শিখতে পারবেন, ভিত্তি জ্ঞান এবং অধ্যয়নের ঘন্টার পরিমাণের উপর নির্ভর করে।

2. শ্রম বাজারে উচ্চ চাহিদা.

পূর্ব অভিজ্ঞতা ছাড়াই চাকরি পেতে পারেন। কোম্পানিগুলো সাগ্রহে ইন্টার্ন নিয়োগ করে এবং তাদের শিক্ষিত করে।

3. ক্ষেত্রে সর্বোচ্চ বেতন.

সর্বোচ্চ এক. এটি জুনিয়র ডেভেলপারদের জন্য বিশেষভাবে গুরুত্বপূর্ণ।  

প্রোগ্রামিং একটি দক্ষতা

পুরাতন স্তর 05 - 2আপনি একটি বই পড়তে এবং একটি কম্পিউটার প্রোগ্রামার হতে পারবেন না. আপনার কমপক্ষে 500 ঘন্টা অনুশীলন দরকার। ঠিক বক্সিং এর মতন। আপনি কেবল ম্যাচগুলি দেখতে এবং পেশাদার হয়ে উঠতে পারবেন না। আপনাকে বছরের পর বছর প্রশিক্ষণ দিতে হবে। (তাই কোডজিমের অনেকগুলি ব্যবহারিক কাজ রয়েছে)। 10 ঘন্টার মধ্যে কীভাবে প্রোগ্রাম করতে হয় তা শেখানোর সমস্ত অফারগুলি আপনাকে 10 ঘন্টার মধ্যে বক্স করতে শেখানোর অফারগুলির অনুরূপ। এবং তারপর একটি বক্সিং রিং আপনি নিক্ষেপ! এটা করবেন না। কখনও কখনও যখন একজন নবাগত ফোরামে জিজ্ঞাসা করে কিভাবে একজন সফ্টওয়্যার বিকাশকারী হবেন, তখন তাকে নিজের জন্য কাজগুলি আবিষ্কার করতে এবং সেগুলি করতে বলা হয়। যে কাজ করবে না.ব্যাপারটা হলো একজন মানুষ তার জ্ঞানের বাইরে কোনো কাজ করতে পারে না। আপনি হয় কিছু জানেন, বা আপনি না. কেবলমাত্র একজন ব্যক্তিই এই বিষয়ে ভালভাবে দক্ষ আপনার জন্য একটি ক্রমিক কাজ তৈরি করতে সক্ষম, যার প্রতিটি আপনাকে নতুন জিনিস শেখাবে এবং সমাধান করতে সপ্তাহ লাগবে না। কোডজিমে আমি সেটাই করেছি।

নতুন উদ্ভাবনী শিক্ষণ পদ্ধতি

কোডজিম শিক্ষা কলেজ শিক্ষার চেয়ে ভিন্ন উপায়ে তৈরি করা হয়। আপনি খুব শীঘ্রই এটা লক্ষ্য করবেন. এটা অনেক বেশি কার্যকরী। কলেজে আপনার পড়াশুনা সম্ভবত এইরকম ছিল: দীর্ঘ বক্তৃতা এবং আপনি যা শিখেছেন তা পেরেক ঠেকানোর অনুশীলন। এই পদ্ধতি অনুসরণ করে আপনি আপনার জ্ঞানের উন্নতি ঘটান, দক্ষতা নয়। সত্যি কথা বলতে কি, এইভাবে অর্জিত আপনার দক্ষতার কার্যত কোন মূল্য নেই। আমি অন্য পদ্ধতি আছে. আমি বিশ্বাস করি একজন ব্যক্তির প্রথমে প্রশ্ন করা উচিত, এবং শুধুমাত্র তারপর তাদের উত্তর পাওয়া উচিত। একটি প্রশ্নের আগে উত্তরের কোন মূল্য নেই। আমার বক্তৃতা আপনার প্রশ্নের উত্তর. তাই প্রথমে আমি আপনাকে এমন ব্যবহারিক কাজ দিচ্ছি যেগুলো আপনার বর্তমান জ্ঞান দিয়ে সমাধান করা কঠিন। এই কাজগুলি প্রশ্ন উত্থাপন করে এবং তারপর আপনি আমার উত্তর পাবেন যা জ্ঞান এবং বক্তৃতা। আমি আপনাকে তিনটি পর্যায়ে নতুন জ্ঞান উপস্থাপন করছি:
  1. ভূমিকা (ন্যূনতম তত্ত্ব এবং কয়েকটি ব্যবহারিক কাজ)

  2. প্রধান ব্লক জ্ঞান (আপনাকে বিষয়টি সম্পূর্ণরূপে বুঝতে হবে)

  3. বিশদ এবং সূক্ষ্মতা (আমি এখানে ফাঁক পূরণ করছি)

এইভাবে আপনি অন্তত তিনবার এক এবং একই বিষয় জুড়ে আসবেন। এবং এটি উল্লেখ করার মতোও নয় যে সবকিছুই আন্তঃসম্পর্কিত এবং এর আগে একটি বিষয় ব্যাখ্যা না করে অন্তত আংশিকভাবে সম্পূর্ণভাবে ব্যাখ্যা করা অসম্ভব। কিছু ছাত্র এমনকি কিছু কাজ খুব কঠিন বলে বিরক্তি প্রকাশ করে, তারা বলে যে তারা এখনও অধ্যয়ন করেনি। এই জাতীয় কাজগুলি চিন্তার জন্য একটি বিরতি উপস্থাপন করে: আপনি কীভাবে আপনার বর্তমান জ্ঞানের স্তর ব্যবহার করে সেগুলি সমাধান করবেন? আপনি এই কাজগুলি সমাধান করতে এক বা দুই ঘন্টা ব্যয় করতে পারেন, কিন্তু পরে আপনি একটি নতুন আসল পদ্ধতি বা মার্জিত সমাধান খুঁজে পেয়ে খুব খুশি হবেন। আসলে, বাস্তব জীবনে আপনাকে প্রথমে কর্মক্ষেত্রে একটি কাজ দেওয়া হবে এবং শুধুমাত্র পরে আপনি এটি সমাধান করার জ্ঞান পাবেন। এটাই বাস্তব জীবন, বাচ্চারা। সুতরাং, যত তাড়াতাড়ি আপনি এই জাতীয় পদ্ধতিতে অভ্যস্ত হবেন ততই ভাল।

লেভেল 5

পুরাতন স্তর 05 - 3

1 এলি ক্লাস সম্পর্কে কথা বলে

- আরে, আমিগো! - হাই, এলি! - আজ আমি আপনাকে ব্যাখ্যা করতে চাই ক্লাস কি। - ব্যাখ্যা # 1. আমি একটি উপমা দিয়ে শুরু করব। আমাদের মহাবিশ্বের সমস্ত জিনিসই পরমাণু দিয়ে তৈরি। তারা বিভিন্ন ধরনের হতে পারে: হাইড্রোজেন, অক্সিজেন, লোহা, ইউরেনিয়াম, ... পরমাণু একত্রিত করা বিভিন্ন জিনিস বা বস্তু তৈরি করতে সক্ষম করে। - জাভা মহাবিশ্বের ক্ষেত্রেও একই কথা। এখানে প্রোগ্রামগুলি বিভিন্ন ধরণের অবজেক্ট নিয়ে গঠিত (যেখানে ক্লাস একটি টাইপ): পূর্ণসংখ্যা, স্ট্রিং, ফাইল, অবজেক্ট, … অবজেক্ট একত্রিত করা বিভিন্ন ওয়েব-পরিষেবা বা প্রোগ্রাম তৈরি করতে সক্ষম করে। - বিভিন্ন পরমাণুর অভ্যন্তরীণ গঠন ভিন্ন। এগুলিতে বেশ কয়েকটি ইলেকট্রন, প্রোটন এবং নিউট্রন রয়েছে। - বিভিন্ন ক্লাস (জাভাতে অবজেক্টের ধরন) এর অভ্যন্তরীণ গঠনও আলাদা। এগুলিতে বিভিন্ন ভেরিয়েবল এবং পদ্ধতি রয়েছে। - হ্যাঁ, আমার পরমাণুর গঠন সম্পর্কে একটি সাধারণ ধারণা আছে। আমি একজন রোবট, তাই না? - আসুন সামগ্রিকভাবে প্রোগ্রামটি দেখি: বস্তুগুলি বিল্ডিং ব্লকের মতো যা প্রোগ্রাম তৈরি করে। ক্লাস হল ঐ ব্লকের প্রকার। বিভিন্ন ধরণের ব্লক বিভিন্ন শ্রেণীর বস্তু। - আমি একরকম এটা পেয়েছি. - ব্যাখ্যা # 2. যখন আমাদের একটি নতুন ধরনের বস্তুর প্রয়োজন হয় তখন আমরা একটি নতুন ক্লাস তৈরি করি। এই শ্রেণীর মধ্যে আমরা বস্তুর পছন্দসই আচরণ বর্ণনা করি। - আচ্ছা, আমি কিছু বুঝতে পেরেছি, কিন্তু আমি এই বিষয়ে নিশ্চিত নই। - অভ্যন্তরীণ কাঠামো বিবেচনা করে, ক্লাসে এমন ক্লাস পদ্ধতি রয়েছে যা কিছু করে এবং ক্লাস ভেরিয়েবল যেখানে মেথড শেয়ার করা ডেটা সঞ্চয় করে। - সহজভাবে বললে, ক্লাস কি পদ্ধতির সেট? - মোটামুটিভাবে, আরও নির্দিষ্টভাবে, ক্লাস হল এমন একটি পদ্ধতির একটি গ্রুপ যা একসাথে কাজ করে এবং ভেরিয়েবলগুলি যাতে ভাগ করার জন্য বিভিন্ন মান সংরক্ষণ করে। - হ্যাঁ। একটি নতুন ক্লাস তৈরি করতে, আমাদের এই পদ্ধতিগুলি লিখতে হবে ... - হ্যাঁ। এছাড়াও আমাদের সিদ্ধান্ত নিতে হবে যে কোন ভেরিয়েবলগুলি বিভিন্ন পদ্ধতি দ্বারা ভাগ করা হয়েছে এবং তারপর একটি পদ্ধতি থেকে ক্লাসে ভেরিয়েবলগুলি নিয়ে যেতে হবে: মেথড ভেরিয়েবলগুলিকে ক্লাস ভেরিয়েবলে পরিণত করুন। - ক্লাসগুলি নিম্নলিখিত প্যাটার্নে তৈরি করা হয়েছে: 1 প্রোগ্রামার তার অন্য কোন বস্তুর প্রয়োজন তা নির্ধারণ করে। 2 প্রোগ্রামার এই অবজেক্টগুলিকে বিভিন্ন প্রকারে ভাগ করে তারা যা করে তার উপর নির্ভর করে। 3 প্রোগ্রামার প্রতিটি ধরনের জন্য একটি পৃথক ক্লাস লেখেন। 4 ক্লাসে, তিনি প্রয়োজনীয় পদ্ধতি এবং চলক ঘোষণা করেন। 5প্রতিটি পদ্ধতিতে কমান্ড লিখতে হবে যাতে পদ্ধতিটি প্রোগ্রামার যা করতে চায় তা করে। 6 ক্লাস প্রস্তুত, এখন আপনি এর অবজেক্ট তৈরি করতে পারেন। - অসাধারণ! এটি একটি আকর্ষণীয় স্কিম. আমি এটা মনে রাখব. - মুখস্থ করতে হবে, কাজে লাগবে। প্রোগ্রামিং পদ্ধতি, যেখানে প্রোগ্রামটিকে অবজেক্টে ভাগ করা হয়, তাকে অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ( OOP ) বলা হয়। - জাভা হল ওওপি পদ্ধতির একটি ক্লাসিক উদাহরণ, কারণ জাভাতে সবকিছুই অবজেক্ট। - জাভা শেখার দুটি প্রধান কাজ রয়েছে: আপনার নিজের ক্লাস লিখতে শেখা এবং অন্য লোকের ক্লাস ব্যবহার করতে শেখা. আজ আমরা সবচেয়ে সহজ জিনিস দিয়ে শুরু করি। আপনি সহজ ক্লাস লিখতে শিখবেন এবং অবশ্যই তাদের অবজেক্ট তৈরি করবেন। অবজেক্টকে প্রায়ই ক্লাসের উদাহরণ বলা হয়। এগুলি প্রতিশব্দ, যে কোনও উপায় সঠিক। - বুঝেছি. - সংক্ষেপে আমি বলতে পারি যে ক্লাসটি একটি মিনিপ্রোগ্রাম: ডেটা এবং ফাংশনের একটি সেট যা এই ডেটার সাথে কিছু করে। ক্লাসগুলির একটি গুরুত্বপূর্ণ বৈশিষ্ট্য হল এই ক্লাসগুলির (বস্তু) উদাহরণ তৈরি করার ক্ষমতা। - একটি ক্লাস অবজেক্ট তৈরি করতে, আপনাকে কোডে লিখতে হবে «new class_name()»পুরাতন স্তর 05 - 4- একটি ক্লাস অবজেক্ট দুটি আকর্ষণীয় বৈশিষ্ট্য আছে: - প্রথম. প্রতিটি ক্লাস অবজেক্ট ক্লাস ভেরিয়েবলের নিজস্ব কপি সংরক্ষণ করে।সুতরাং, যদি ক্লাসে x, y ভেরিয়েবল ঘোষণা করা হয় এবং এই শ্রেণীর 10টি অবজেক্ট তৈরি করা হয়, তাহলে প্রতিটি অবজেক্টের নিজস্ব ভেরিয়েবল রয়েছে। একটি বস্তুর ভেরিয়েবল পরিবর্তন করা অন্য বস্তুর ভেরিয়েবলকে প্রভাবিত করে না। - দ্বিতীয়। যখন একটি নতুন বস্তু তৈরি করা হয়, তখন বিভিন্ন পরামিতি এতে পাস করা যেতে পারে। এগুলি তথাকথিত "স্টার্টআপ মান"। এটা প্রায় জন্মের সময় একটি নাম দেওয়ার মত। এই ধরনের প্যারামিটার পাস না করে অনেক বস্তু তৈরি করা যায় না। - আমি একটু কম বুঝি. এবং আপনি ক্লাস ভেরিয়েবল সম্পর্কে কি বলেন? - প্রতিটি বস্তুর ডেটার অনুলিপি রয়েছে (ক্লাস ভেরিয়েবল)। পুরাতন স্তর 05 - 5

2 রিশা প্যাকেজ সম্পর্কে কথা বলেন

- আরে, আমিগো! এখন আমি প্যাকেজ সম্পর্কে বলছি। - কম্পিউটারের ফাইলগুলি ফোল্ডারে গোষ্ঠীভুক্ত করা হয়। জাভাতে ক্লাসগুলি (প্রতিটি ক্লাস একটি পৃথক ফাইলে রয়েছে) প্যাকেজগুলি দ্বারা গোষ্ঠীভুক্ত করা হয় যা একটি ডিস্কের ফোল্ডার। এটা নতুন কিছু নয়। কিন্তু দুটি মন্তব্য আছে। - প্রথমে , «একটি অনন্য পূর্ণ শ্রেণীর নাম» হল «প্যাকেজের নাম» + «শ্রেণীর নাম» । উদাহরণ: পুরাতন স্তর 05 - 6- পুরো ক্লাসের নাম সর্বদা অনন্য! - প্রতিবার java.util.ArrayList এর মতো লম্বা নাম লেখা খুব কঠিন । অতএব, আপনার কোডে আপনি অন্যান্য ক্লাসের ছোট নাম ব্যবহার করতে পারেন। তবে এর জন্য আপনাকে কিছু জাদু ব্যবহার করতে হবে। - কি জাদু? - আপনি "java.util.ArrayList;" বিবৃতিটি ব্যবহার করতে পারেন - ক্লাসের শুরুতে, প্যাকেজ ঘোষণা করার পরপরই, আপনাকে আপনার কোডে ব্যবহৃত ArrayList ক্লাসের পুরো নাম উল্লেখ করতে হবে। ধরা যাক আপনি আপনার কোডে java.util.ArrayList, sun.generic.ArrayList এবং com.oracle.ArrayList ক্লাস ব্যবহার করেন। আপনি আমদানিতে তাদের একটি নির্দিষ্ট করতে পারেন (যেমন sun.generic.ArrayList;) এবং এর সংক্ষিপ্ত নাম ব্যবহার করুন। এটি শুধুমাত্র একটি শ্রেণী সম্পর্কিত। - এটা এত জটিল কেন? অভিন্ন নামের ক্লাস হতে পারে? - হ্যাঁ, বিভিন্ন প্যাকেজে একই নামের ক্লাস হতে পারে। কিন্তু আমরা আমাদের ক্লাসে একই নামের দুটি ক্লাস আমদানি করতে পারি না, তাই আমাদের তাদের একজনের জন্য একটি সম্পূর্ণ নাম প্রয়োগ করতে হবে। - এখানে আরেকটি উপমা আছে। আপনার দলে বিল আছে এবং যোগাযোগের ক্ষেত্রে কোনো সমস্যা নেই, কারণ সবাই জানে সে কে। কিন্তু যদি তিনটি বিল থাকে, তাহলে তাদের মধ্যে পার্থক্য করার জন্য আপনাকে তাদের সম্পূর্ণ অনন্য নাম ব্যবহার করতে হবে। - দ্বিতীয় , src রুট ফোল্ডারে না করে প্যাকেজে ক্লাস করা ভালো । কয়েকটি ক্লাস থাকলে কোন সমস্যা নেই, তবে অনেকগুলি থাকলে বিভ্রান্ত হওয়া খুব সহজ। অতএব, সর্বদা শুধুমাত্র প্যাকেজে ক্লাস তৈরি করুন। জাভাতে নিয়ম হল ক্লাস এবং প্যাকেজগুলির স্ব-ব্যাখ্যামূলক নাম দেওয়া। অনেক কোম্পানি তাদের লাইব্রেরি (ক্লাস সেট) তৈরি করে এবং বিভ্রান্তি এড়াতে কোম্পানি/ওয়েবসাইটের নাম অনুসারে এই ক্লাসগুলির নাম প্যাক: পুরাতন স্তর 05 - 7

3 কিম ভিডিও টিউটোরিয়াল দেখান

- আরে, আমিগো! এখানে কয়েকটি ভিডিও টিউটোরিয়াল রয়েছে, কীভাবে ক্লাস এবং প্যাকেজ তৈরি করবেন:
- আমরা ইতিমধ্যে এটা করেছি! - আপনি আপনার রোবট জীবনে এটি হাজার বার করবেন। তাই এটি ব্যবহার করতে পারেন। এবং এখন, আপনি অনুশীলন করতে হবে! জাভা ক্লাস তৈরি করা প্যাকেজ তৈরি করা

4 এলি, বস্তুর সৃষ্টি, বস্তুর উল্লেখ

- তাই, আমরা গতবার ক্লাস শিখেছি। আজ আমি আপনাকে বলতে চাই কিভাবে বস্তু তৈরি করতে হয়। এটা খুবই সহজ: নতুন কীওয়ার্ড লিখুন এবং আমরা যে বস্তুটি তৈরি করতে চাই তার জন্য ক্লাসের নাম লিখুন: পুরাতন স্তর 05 - 8- কিন্তু আমি এটি আগে শুনেছি। - আমি জানি, কিন্তু দয়া করে শোন। - যখন একটি নতুন বস্তু তৈরি করা হয়, বিভিন্ন পরামিতি বন্ধনীতে পাস করা যেতে পারে। আমি আজ একটু পরে এটা ব্যাখ্যা করব. আসুন বিড়াল শ্রেণীর বিবেচনা করা যাক: - এই গেটার এবং সেটার্সপুরাতন স্তর 05 - 9 কি ? - অন্য ক্লাস থেকে অ্যাক্সেসযোগ্য না ভেরিয়েবলগুলি জাভাতে সাধারণ অভ্যাস। সাধারণত, একটি শ্রেণীর মধ্যে ঘোষিত ভেরিয়েবলের সংশোধক ব্যক্তিগত থাকে । - প্রাইভেট ভেরিয়েবলে অ্যাক্সেস দেওয়ার জন্য, আপনার দুটি পদ্ধতি তৈরি করা উচিত: getএবং সেট _ মেথডের লক্ষ্য হল ভেরিয়েবলের বর্তমান মানটি যে এটিকে কল করেছে তাকে ফিরিয়ে দেওয়া। পদ্ধতি সেটের লক্ষ্য হল একটি নতুন মান সেট করা । - আর কথা কি? - যদি আমরা কেউ আমাদের অবজেক্ট ভেরিয়েবলের মান পরিবর্তন করতে না চাই, তাহলে আমরা কোনো মেথড সেট লিখতে পারি না বা এটাকে প্রাইভেট করতে পারি । আপনি এই পদ্ধতিতে অতিরিক্ত ডেটা চেক যোগ করতে পারেন। যদি নতুন পাস করা মান অবৈধ হয়, তাহলে কিছু পরিবর্তন করবেন না। - ইহা আকর্ষণীয়. - যেহেতু ক্লাসে অনেকগুলি ভেরিয়েবল থাকতে পারে, তাই মেথডের নাম প্রাপ্ত এবং সেট করুনসাধারণত তারা কাজ করে এমন একটি ভেরিয়েবলের নাম অন্তর্ভুক্ত করে। - একটি ভেরিয়েবলের নাম fullName হলে , পদ্ধতির নাম দেওয়া উচিত getFullName এবং setFullName । এবং তাই এটি অনুরূপ. - বুঝেছি! সামগ্রিকভাবে এটি একটি বোধগম্য পদ্ধতি। - এখানে একটি নতুন তৈরি বস্তুর সাথে কিভাবে কাজ করতে হয় তার কয়েকটি উদাহরণ রয়েছে: পুরাতন স্তর 05 - 10

5 দিয়েগো, নিজস্ব শ্রেণী এবং বস্তু তৈরির কাজ

- আরে, আমিগো! ক্লাস এবং অবজেক্ট তৈরি করার জন্য এখানে কিছু কাজ রয়েছে:
কাজ
1 একটি ক্লাস বিড়াল তৈরি করুন
একটি ক্লাস বিড়াল তৈরি করুন। একটি বিড়ালের অবশ্যই তার নাম (নাম, স্ট্রিং), বয়স (বয়স, int), ওজন (ওজন, int), এবং শক্তি (শক্তি, int) থাকতে হবে।
2 ইমপ্লিমেন্ট মেথড ফাইট
ইমপ্লিমেন্ট মেথড বুলিয়ান ফাইট (ক্যাট আদারক্যাট): বিড়ালের ওজন, বয়স এবং শক্তির উপর নির্ভর করে একটি ফাইট মেকানিজম প্রয়োগ করুন। নিজের উপর নির্ভরতা তৈরি করুন। পদ্ধতিটি নির্ধারণ করা উচিত, বর্তমান বিড়াল (যে বস্তুটির লড়াইয়ের পদ্ধতি বলা হয়েছিল) নাকি অন্য একটি ক্যাট যুদ্ধ জিতেছে, অর্থাৎ বর্তমান বিড়াল জিতেছে তাহলে সত্য এবং মিথ্যা, যদি না জিততে পারে। নিম্নলিখিত শর্ত পূরণ করা আবশ্যক:

if cat1.fight(cat2) == true, then cat2.fight(cat1) == false
3 ক্লাস ডগের জন্য গেটার এবং সেটার্স <
একটি ক্লাস ডগ তৈরি করুন। একটি কুকুরের একটি নাম থাকতে হবে - স্ট্রিং নাম এবং বয়স - int বয়স।
কুকুর শ্রেণীর সমস্ত ভেরিয়েবলের জন্য গেটার এবং সেটার তৈরি করুন।
4 C ক্যাট টাইপের তিনটি অবজেক্ট রিট
মেথড মেইন-এ ক্যাট টাইপের তিনটি অবজেক্ট তৈরি করুন এবং ডাটা দিয়ে পূরণ করুন।
প্রথম কাজের ক্লাস ক্যাট ব্যবহার করুন। ক্লাস ক্যাট তৈরি করবেন না।
5 বিড়ালদের মধ্যে তিনটি দ্বৈত ঝগড়া ধরুন
ক্লাস বিড়াল ব্যবহার করে তিনটি বিড়াল তৈরি করুন।
বিড়ালদের মধ্যে তিনটি জুটিবদ্ধ লড়াই ধরুন।
ক্লাস ক্যাট তৈরি করবেন না। লড়াইয়ের জন্য, বুলিয়ান ফাইট (বিড়াল অন্য ক্যাট) পদ্ধতিটি ব্যবহার করুন।
প্রতিটি লড়াইয়ের ফলাফল প্রদর্শন করুন।

6 রিশা একটি বস্তুর সূচনা সম্পর্কে কথা বলে

- আমি আপনাকে অবজেক্ট ইনিশিয়ালাইজেশন সম্পর্কে বলতে চাই। যখন একটি অবজেক্ট তৈরি করা হয়, তখন এটির ভেরিয়েবলে স্টার্টআপ ডেটা বরাদ্দ করা প্রয়োজন , যাতে আপনি একটি অবজেক্ট অ্যাক্সেস করার চেষ্টা করেন এমন পরিস্থিতি এড়াতে, এবং সঠিকভাবে কাজ করার জন্য এটির কোনও ডেটার প্রয়োজন নেই৷ - ফাইল টাইপের একটি অবজেক্ট বিবেচনা করা যাক। ফাইলের জন্য ন্যূনতম প্রয়োজনীয় তথ্য হল এর নাম। একটি নাম ছাড়া একটি ফাইল একটি বাজে কথা. - ধরুন আপনি ফাইলের সাথে কাজ করার জন্য ফাইল ক্লাসের (উদাহরণস্বরূপ MyFileClass) নিজের সংস্করণ লিখছেন। এই শ্রেণীর প্রতিটি বস্তুর জন্য কি তথ্য প্রয়োজন? - এই বস্তুটি যে ফাইলের সাথে কাজ করবে তার নাম? - সেটা ঠিক. এজন্য আমরা আমাদের ক্লাসে মেথড ইনিশিয়ালাইজ() যোগ করি। এটি এই মত দেখাবে: পুরাতন স্তর 05 - 11- আমরা পদ্ধতি যোগ করেছিইনিশিয়ালাইজ , একটি বস্তুর সাথে কাজ করতে সক্ষম হওয়ার জন্য - এর পদ্ধতিগুলিকে কল করুন। মেথড ইনিশিয়ালাইজ কল করার পরপরই এটি করা যেতে পারে। আপনি যদি একটি বস্তুর সাথে কাজ করতে না পারেন তবে এটিকে অবৈধ বলা হয় , অন্যথায় এটি বৈধ । মেথড ইনিশিয়ালাইজের মূল উদ্দেশ্য হল বস্তুটিকে বৈধ করার জন্য প্রয়োজনীয় সমস্ত ডেটা পাস করা। - বুঝেছি! - এখন কাজটি জটিল করা যাক। অথবা বরং সরলীকরণ. আপনি এটি কিভাবে তাকান উপর নির্ভর করে. কল্পনা করুন যে অন্য একজন প্রোগ্রামার যিনি আমাদের ক্লাস ব্যবহার করবেন তার জন্য সম্পূর্ণ ফাইলের নাম নয়, একটি ডিরেক্টরি এবং একটি ছোট ফাইলের নাম পাস করা সহজ। আমরা অন্য পদ্ধতি ব্যবহার করে এই কার্যকারিতা বাস্তবায়ন করতে পারি ইনিশিয়ালাইজ ( জাভা অভিন্ন নাম সহ একাধিক পদ্ধতি তৈরি করতে সক্ষম করে) তাহলে আমাদের ক্লাসটি এরকম দেখাবে: পুরাতন স্তর 05 - 12- আরও কী, বর্তমানের পাশে একটি অস্থায়ী ফাইল কপি তৈরি করতে প্রায়ই প্রয়োজন হয়। - আমরা এই ক্ষেত্রে একটি পদ্ধতি করতে পারি? - অবশ্যই, এটি একবার দেখে নিন: পুরাতন স্তর 05 - 13- তাহলে, আমি এই পদ্ধতিগুলির মধ্যে যতটা ইচ্ছা করতে পারি? - অবশ্যই কারণের মধ্যে। কিন্তু, আসলে, যতগুলো আপনি চান। - আর কখন মেথড ইনিশিয়ালাইজ করতে হবে? - অবজেক্টটি তৈরি হওয়ার পরপরই, এটিকে বৈধ একটিতে পরিণত করতে: পুরাতন স্তর 05 - 14- এবং এই পদ্ধতিটি getFolder() কি? - আপনি এর নাম থেকে দেখতে পাচ্ছেন যে এই পদ্ধতিটি হল আমাদের ফাইলটি যে ফোল্ডারে অবস্থিত তার নাম সম্বলিত একটি স্ট্রিং ফেরত দেওয়া। কিন্তু আমরা এখানে এর বাস্তবায়ন লিখিনি, এটা শুধু দেখানোর জন্য।

7 দিয়েগো, অবজেক্ট ইনিশিয়ালাইজেশন টাস্ক

- আরে, আমিগো! আমি আমাদের পাঠ ছাড়া বিরক্ত. এখানে কিছু অবজেক্ট প্রারম্ভিক কাজ আছে:
কাজ
1 একটি ক্লাস ফ্রেন্ড তৈরি করুন
তিনটি ইনিশিয়ালাইজার দিয়ে একটি ক্লাস ফ্রেন্ড তৈরি করুন (তিনটি পদ্ধতি শুরু করুন):
- নাম
- নাম, বয়স
- নাম, বয়স, লিঙ্গ
2 একটি ক্লাস বিড়াল তৈরি করুন
পাঁচটি ইনিশিয়ালাইজার সহ একটি ক্লাস বিড়াল তৈরি করুন:
- নাম
- নাম, ওজন, বয়স
- নাম, বয়স (প্রমিত ওজন)
- ওজন, রঙ, (নাম, ঠিকানা এবং বয়স অজানা, এটি একটি অ্যালি বিড়াল)
- ওজন, রঙ, ঠিকানা (এটি অন্য কারো বাড়ির বিড়াল)
ইনিশিয়ালাইজারের কাজ হল একটি বস্তুকে বৈধ করা। উদাহরণস্বরূপ, ওজন অজানা হলে, আপনাকে কিছু গড় ওজন নির্দিষ্ট করতে হবে। একটি বিড়ালেরও কোনো ওজন থাকতে পারে না, একইভাবে বয়স। কিন্তু এর কোন নাম (নাল) থাকতে পারে না। একই ঠিকানার ক্ষেত্রে প্রযোজ্য - শূন্য হতে পারে।
3 একটি ক্লাস ডগ তৈরি করুন
তিনটি ইনিশিয়ালাইজার সহ একটি ক্লাস ডগ তৈরি করুন:
- নাম
- নাম, উচ্চতা
- নাম, উচ্চতা, রঙ
4 একটি ক্লাস সার্কেল তৈরি করুন
তিনটি ইনিশিয়ালাইজার সহ একটি ক্লাস সার্কেল তৈরি করুন:
- centerX, centerY, ব্যাসার্ধ
- centerX, centerY, ব্যাসার্ধ, প্রস্থ
- centerX, centerY, ব্যাসার্ধ, প্রস্থ, রঙ
5 একটি বর্গ আয়তক্ষেত্র তৈরি করুন
একটি বর্গ আয়তক্ষেত্র তৈরি করুন। এর ডেটা উপরে, বাম, প্রস্থ এবং উচ্চতা হবে। এটির জন্য যতটা সম্ভব ইনিশিয়ালাইজ (...) পদ্ধতি লিখুন

উদাহরণ:
- 4 প্যারামিটার সেট করা উচিত: বাম, শীর্ষ, প্রস্থ, উচ্চতা
- প্রস্থ/উচ্চতা সেট করা নেই (উভয় সমান 0)
- উচ্চতা সেট করা নেই (এর সমান) প্রস্থ), একটি বর্গক্ষেত্র তৈরি করুন
- অন্য আয়তক্ষেত্রের একটি অনুলিপি তৈরি করুন (এটি পরামিতিতে পাস করা হয়েছে)

8 এলি কনস্ট্রাক্টর সম্পর্কে কথা বলে

- এটা কনস্ট্রাক্টর সম্পর্কে আপনাকে বলার সময়. এটা খুবই সহজ: প্রোগ্রামাররা অবজেক্ট তৈরি এবং ইনিশিয়ালাইজেশনের জন্য একটি সংক্ষিপ্ত স্বরলিপি উদ্ভাবন করেছে: পুরাতন স্তর 05 - 15- কিন্তু আমি এই ইনিশিয়ালাইজারগুলো বুঝতে পেরেছি... - মন খারাপ করবেন না। আপনি সব. কনস্ট্রাক্টর ব্যবহার করা আরও সহজ এবং স্থান-সংরক্ষণ। - হ্যাঁ, অনেক ভালো লাগছে। কিন্তু একটি প্রশ্ন আছে: আমি জানি কিভাবে ক্লাসে একটি মেথড ইনিশিয়ালাইজ লিখতে হয়, কিন্তু আমি কিভাবে ক্লাসের মধ্যে কনস্ট্রাক্টর লিখতে পারি? - প্রথমে, একটি সাধারণ উদাহরণ দেখুন: পুরাতন স্তর 05 - 16- ক্লাসে কনস্ট্রাক্টর ঘোষণা করা খুব সহজ। কনস্ট্রাক্টরটি প্রাথমিক পদ্ধতির মতো, তবে দুটি পার্থক্য রয়েছে:
  • কনস্ট্রাক্টর পদ্ধতির নামটি ক্লাসের নামের মতোই ( ইনিশিয়ালাইজের পরিবর্তে )।
  • কনস্ট্রাক্টর পদ্ধতির কোন রিটার্ন টাইপ নেই (কোন প্রকার নির্দিষ্ট করা নেই)।
- আসলে, এটি একই পদ্ধতির আরম্ভ, কিন্তু কিছু পার্থক্য সঙ্গে. আমি ধরনের এটা পেয়েছিলাম.

9 দিয়েগো, কনস্ট্রাক্টরের কাজ

- তুমি একটু বিশ্রাম নিয়েছ, আমার ধারণা। ফাইন। এখানে কিছু কনস্ট্রাক্টর তৈরির কাজ রয়েছে:
কাজ
1 একটি ক্লাস ফ্রেন্ড তৈরি করুন
তিনটি কনস্ট্রাক্টর দিয়ে একটি ক্লাস ফ্রেন্ড তৈরি করুন:
- নাম
- নাম, বয়স
- নাম, বয়স, লিঙ্গ
2 একটি ক্লাস বিড়াল তৈরি করুন
পাঁচটি কনস্ট্রাক্টর দিয়ে একটি ক্লাস বিড়াল তৈরি করুন:
- নাম,
- নাম, ওজন, বয়স
- নাম, বয়স (প্রমিত ওজন)
- ওজন, রঙ, (নাম, ঠিকানা এবং বয়স অজানা। এটি একটি অ্যালি বিড়াল)
- ওজন, রঙ, ঠিকানা (এটি অন্য কারো বাড়ির বিড়াল)
ইনিশিয়ালাইজারের কাজ হল একটি বস্তুকে বৈধ করা। উদাহরণস্বরূপ, ওজন অজানা হলে, আপনাকে কিছু গড় ওজন নির্দিষ্ট করতে হবে। একটি বিড়ালেরও কোনো ওজন থাকতে পারে না, একইভাবে বয়স। কিন্তু এর কোন নাম (নাল) থাকতে পারে না। একই ঠিকানার ক্ষেত্রে প্রযোজ্য - শূন্য হতে পারে।
3 একটি ক্লাস ডগ তৈরি করুন
তিনটি কনস্ট্রাক্টর দিয়ে একটি ক্লাস ডগ তৈরি করুন:
- নাম
- নাম, উচ্চতা
- নাম, উচ্চতা, রঙ
4 একটি ক্লাস সার্কেল তৈরি করুন
তিনটি কনস্ট্রাক্টর দিয়ে একটি ক্লাস সার্কেল তৈরি করুন:
- centerX, centerY, ব্যাসার্ধ
- centerX, centerY, ব্যাসার্ধ, প্রস্থ
- centerX, centerY, ব্যাসার্ধ, প্রস্থ, রঙ
5 একটি বর্গ আয়তক্ষেত্র তৈরি করুন
একটি বর্গ আয়তক্ষেত্র তৈরি করুন। এর ডেটা উপরে, বাম, প্রস্থ এবং উচ্চতা হবে। এটির জন্য যতটা সম্ভব কনস্ট্রাক্টর তৈরি করুন:

উদাহরণ:
- 4টি প্যারামিটার সেট করা হয়েছে: বাম, উপরে, প্রস্থ, উচ্চতা
- প্রস্থ/উচ্চতা সেট করা নেই (উভয় সমান 0)
- উচ্চতা সেট করা নেই (প্রস্থের সমান), একটি বর্গক্ষেত্র তৈরি করুন
- অন্য আয়তক্ষেত্রের একটি অনুলিপি তৈরি করুন (এটি পরামিতিতে পাস করা হয়েছে)

10 প্রফেসর, ক্লাস এবং কনস্ট্রাক্টর

- আবার আমি. আমাদের বক্তৃতা সহজভাবে মহান. আমি আপনাকে বিরক্তিকর লেকচারের লিঙ্ক দেব না। এখানে চমৎকার জিনিস একটি লিঙ্ক! - এখানে এখনো আপনি? তাড়াতাড়ি যাও, পড়ো, আমাকে ল্যাবে যেতে হবে। কোডজিম লেকচার 5 আলোচনা

11 জুলিও

- আরে, আমিগো! আমি একটু ক্লান্ত. আসুন একটু বিশ্রাম করি, এবং তারপর পাঠ শুরু করি। আমি একটি নতুন পর্ব খুঁজে পেয়েছি:

12 জন কাঠবিড়ালি

- হ্যালো, সৈনিক! - সুপ্রভাত স্যার! - তোমার জন্য আমার কাছে কিছু ভালো খবর আছে। আপনার দক্ষতা জোরদার করার জন্য এখানে কাজ আছে। এটি প্রতিদিন করুন এবং আপনি দ্রুত আপনার দক্ষতা বাড়াবেন। কাজগুলি বিশেষভাবে ইন্টেলিজ আইডিইএ-তে করার জন্য ডিজাইন করা হয়েছে।
Intellij Idea-এ অতিরিক্ত কাজ করতে হবে
1 1. তিনটি ক্লাস
1. ক্লাস হাঁসের সাথে সাদৃশ্য দ্বারা বিড়াল এবং কুকুর শ্রেণী তৈরি করুন।
2. ক্যাট এবং ডগ ক্লাসে toString পদ্ধতিটি কী ফেরত দেওয়া উচিত তা চিন্তা করুন।
3. পদ্ধতিতে প্রধান প্রতিটি ক্লাসে দুটি অবজেক্ট তৈরি করুন এবং তাদের প্রদর্শন করুন।
4. হাঁস শ্রেণীর অবজেক্ট তৈরি এবং প্রদর্শন করা হয়।
2 পুরুষ এবং মহিলা
1. ক্লাস সমাধানের মধ্যে পাবলিক স্ট্যাটিক ক্লাস তৈরি করুন পুরুষ এবং মহিলা।
2. ক্লাসে অবশ্যই ক্ষেত্র থাকতে হবে: নাম(স্ট্রিং), বয়স(int), ঠিকানা(স্ট্রিং)।
3. সমস্ত সম্ভাব্য প্যারামিটার পাস করতে কনস্ট্রাক্টর তৈরি করুন।
4. সমস্ত ডেটা সহ প্রতিটি ক্লাসের দুটি অবজেক্ট তৈরি করতে কনস্ট্রাক্টর ব্যবহার করুন।
5. বস্তুগুলি বিন্যাসে প্রদর্শন করুন [নাম + "" + বয়স + "" + ঠিকানা]।
3 3. পাবলিক স্ট্যাটিক ক্লাস কুকুর এবং বিড়াল তৈরি করুন।
আপনার বিকল্পে প্রতিটি ক্লাসে তিনটি ক্ষেত্র যোগ করুন।
টম এবং জেরি কার্টুন চরিত্রগুলির জন্য বস্তু তৈরি করুন, যতটা আপনি মনে রাখবেন।

উদাহরণ:
মাউস জেরিমাউস = নতুন মাউস ("জেরি", 12 (উচ্চতা, সেমি), 5 (লেজের দৈর্ঘ্য, সেমি))
4 4. বর্তমান তারিখ
প্রদর্শন করুন "21 02 2014" এর মতো একটি ফর্মে বর্তমান তারিখটি স্ক্রিনে প্রদর্শন করুন৷
5 5. কীবোর্ড থেকে সংখ্যা পড়ুন এবং তাদের মোট গণনা করুন
কীবোর্ড থেকে সংখ্যা পড়ুন এবং ব্যবহারকারী "মোট" শব্দটি প্রবেশ না করা পর্যন্ত তাদের মোট গণনা করুন। স্ক্রিনে মোট প্রদর্শন করুন।
- ঐ কাজগুলো ছিল সবুজের জন্য। আমি উচ্চতর জটিলতার বোনাস টাস্ক যোগ করেছি। শুধুমাত্র শীর্ষ বন্দুক জন্য.
বোনাস কাজ
1 1. প্রোগ্রাম কম্পাইল এবং রান না. ঠিক কর.
টাস্ক: প্রোগ্রামটি কীবোর্ড থেকে দুটি সংখ্যা পড়তে হবে এবং তাদের মোট প্রদর্শন করতে হবে।
2 2. প্রোগ্রামে নতুন কার্যকারিতা যোগ করুন।
পুরানো কাজ: একটি নতুন ফাংশন যোগ করুন যা কীবোর্ড থেকে দুটি সংখ্যা পড়ে এবং তাদের সর্বনিম্ন প্রদর্শন করে।
নতুন টাস্ক: একটি নতুন ফাংশন যোগ করুন যা কীবোর্ড থেকে পাঁচটি সংখ্যা পড়ে এবং তাদের সর্বনিম্ন প্রদর্শন করে।
3 3. অ্যালগরিদম শেখা এবং অনুশীলন করা।
টাস্ক: একটি প্রোগ্রাম লিখুন যা
1. কনসোল নম্বর N থেকে পড়ে যা শূন্য
2 থেকে বড়। তারপর কনসোল
3 থেকে N নম্বরগুলি পড়ে। সর্বাধিক প্রবেশ করা N সংখ্যাগুলি প্রদর্শন করে।
মন্তব্য
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION