Monday, March 17, 2014

Lesson 8

  এবার JDK5/6 সঠিক ভাবে ইন্সটলেসন হয়েছে কিনা বা Java কাজ করছে কিনা এর স্ক্রীনশট:

ডস প্রমোপটে গিয়ে টাইপ করুন javac অত:পর দেখুন আউটপুট কি আসে..

javac

যদি নিম্নের স্ক্রীনশটটির মত আসে তাহলে বুঝতে হবে জাভা ইন্সটলেসন সঠিক হয়নি। এর কারন হল এখানে   Java JDK এর পাথ সেট করা নাই তাই এই ম্যাসেজটি দেখাচ্ছে। এখন আমরা জাভার পাথ সেট করবো

javac2

নিম্নে লক্ষ্য করুন জাভা কোথায় ইনস্টল হয়েছে C:\Program Files\Java

javac4ক্

এখানে jdk এর ফোলডারটি লক্ষ্য করুন  C:\Program Files\Java\jdk1.6.0_18

javac4

এই jdk1.6.0_18 ফোল্ডারটির অভ্যন্তরের ফাইলগুলো লক্ষ্য করুন

javac5

এখান bin নামের যে ফোল্ডারটি দেখা যাচ্ছে এর অভ্যন্তরের জাভার কম্পাইলিং এর জন্য ব্যবহারকৃত ইএক্সজি ফাইলসমূহ

javac6

Java JDK PATH সেটিং এর জন্য My computer>Property> Advance>  Environment Variables এ ক্লিক করুন

env

javac3

User variables for Administrator এর New তে ক্রিক করুন এবং নিম্নে প্রদশীত স্ক্রীনশটের মত  Variable name: PATH  Variable value: C:\Program Files\Java\jdk1.6.0_18\bin; আপনার পিসির Java JDK এর সোর্স পাথ দেখান।

javac7

উপরোক্ত স্ক্রীন শটে খুব সতর্কতার সহিত লক্ষ্য করুন Variable name: PATH  Variable value: C:\Program Files\Java\jdk1.6.0_18\bin;  এর শেষে ; (সেমিকোলন) দেয়া হয়েছে এটা যেন কোনক্রমে বাদ  না পড়ে যায় সে দিকে সজাগ দৃষ্টি রাখতে হবে।

OK করুন আবার  OK  করুন এবং পিসি রিস্টার্ট করুন

PC অন হয়ার পর ডস প্রমোপটে যান এবং টাইপ করুন javac এবং এন্টার করুন, এন্টার করার পর যদি নিম্নের স্ক্রীনশটটির মত আউটপুট আসে তাহলে বুঝতে হবে ava JDK5/6 সঠিক ভাবে ইন্সটলেসন হয়েছে।

javac8

Java JDK5/6 সঠিক ভাবে ইন্সটলেসন শেষ হয়েছে এবার আমরা একটি java editor সিলেক্ট করবো যা দ্বারা খুব সহজে আমরা java এডিট , কম্পাইল করতে পারবো।

Lesson 7

নিম্নে জাভা ডেভেলপমন্টে টুল JDK6.u18/JDK1.5.0.06 ইনস্টল পদ্বতির স্ক্রীনশট :

প্রথমে Java JDK5/6 ডাউনলোড করুন  অত:পর Java ইনস্টলের জন্য নিম্নে প্রদর্শিত  আইকনে ক্লিক করুন

jdk

উইন্ডোজ এক্সপির ক্ষেত্রে এ ধরনের একটি ম্যাসেজ দেখতে পাবেন। রান এ ক্লিক করুন

runJ

অত:পর একচেপ্ট বাটনে ক্লিক করুন

accept

এবার নেক্সট বাটনে ক্লিক করুন

y_01next

অপেক্ষা করুন...

y_p1finish

অপেক্ষা করুন...

y_pfinish

অপেক্ষা করুন...

y_1next

এবার নেক্সট বাটনে ক্লিক করুন

y_next

অপেক্ষা করুন...

y_1accept

ফিনিশ বাটনে ক্লিক করুন

y_finish

Java JDK5/6 ইন্সটলেসন শেষ করার পর এখন আমরা দেখবো Java JDK5/6 সঠিক ভাবে ইন্সটলেসন হয়েছে কিনা বা Java কাজ করছে কিনা।

lesson 1

অভিজ্ঞ, অনভিজ্ঞ প্রোগ্রামার এবং সাধারন ইউজার সবার জাভা প্রোগ্রামিং লেনগুয়েজ সম্বন্ধে সম্যক ধারনা দেওয়ার জন্য আমার এই ক্ষুদ্র প্রচেষ্টা।আমি একজন প্রোগ্রামার হিসাবে চেষ্টা করবো পরিচ্ছন বাংলা এবং প্রয়োজনীয় ইংরেজী ভাষার ব্যবহারসহ ছোট ছোট টপিকস আকারে ধারাবাহিকভাবে প্রত্যকটা বিষয় আলোচনা করার,আমি আশা করি জাভা প্রোগ্রামিং লেনগুয়েজ হাতেখড়ি দ্বারা সবাই উপকৃত হবেন।
jlogo

প্রোগ্রাম লেনগুয়েজ এর প্রাথমিক ধারনা:

কম্পিউটার  আবিষ্কারের পর থেকেই তা দিয়ে জটিল সমস্যা সহজে সমাধানের চেষ্টা  অব্যাহত   রয়েছে এবং গবেষনা ও  উন্নয়নমূলক  কাজ  চলছে বিভিন্ন প্রোগ্রামিং পদ্বতি নিয়ে।  মডিউলার প্রোগ্রামিং, টপ-ডাউন প্রোগ্রামিং,  বটম-আপ প্রোগ্রামিং উল্লখযোগ্য কয়েকটি  প্রোগ্রামিং পদ্বতি। সকল প্রোগ্রামিং  পদ্বতির উদ্দেশ্য অভিন্ন- সহজে সমস্যা সমাধানের  জন্য   প্রোগ্রাম তৈরী, প্রোগ্রামের গ্রহনযোগ্যতা বৃদ্বি, ব্যবহৃত ডাটার সহজ সংরক্ষন ও গোপনীয়তা রক্ষা ইত্যাদি। বর্তমানে  বাস্তবতার অলোকে   সমস্যা সমাধানের প্রতিশ্রুত দিয়ে  প্রোসিডিউর অরিয়েন্টড প্রোগ্রামিং পদ্বতির ধারনাসহ অতিরিক্ত  কিছু  ধারনা  নিয়ে প্রোগ্রামিং জগতে নতুন চমক নিয়ে আসে Object-oriented programming (OOP)পদ্বতি।
জাভা লেনগুয়েজে একটি সহজ, সাবলীল, সরল, ছোট্র একটি প্রোগ্রামিং লেনগুয়েজ। জাভা প্রোগ্রামিং কৌশল অনেকটা সি এবং সি ++ এর মত। প্রোগ্রামিং লেনগুয়েজে সি এবং সি ++ এর বিঘ্নসৃষ্টিকারী বৈশিষ্ট্যাবলী বাদ দিয়ে নতুন অনেক বৈশিষ্ট্যর সমন্বয় ঘটানো হয়,  যা জাভাকে  সত্যিকার অর্থে একটি সহজ সাবলীল, বিশ্বস্ত ও সুবহনশীল লেনগুয়েজে  পরিনত করেছে। জাভা লেনগুয়েজের  প্রধান  বৈশিষ্ট হচ্ছে নিদিষ্ট কোন প্লাটফম নির্ভরহীনতা। জাভাই প্রথম অবজেক্ট অরিয়েন্টড প্রোগ্রাম লেনগুয়েজ যা  নিদিষ্ট কিছু  হার্ডওয়্যার  সফটওয়ারের  গন্ডির  মধ্য সীমাবদ্ব নয়। ফলে এক কম্পিউটার কিংবা অপারেটিং সিস্টেমে লেখা জাভা প্রোগ্রাম ভিন্ন কম্পউটার কিংবা অপারেটিং  সিস্টমে রান করা সম্ভব।  বর্তমান সময়ে  ইন্টারনেট এবং নেটওয়ার্ক প্রোগ্রামের  জনপ্রিয়তা বৃদ্বি পাওয়ায় পূর্নাঙ্গ অবজেক্ট অরিয়েন্টেড প্রোগ্রাম লেনগুয়েজ হিসাবে জাভা  অন্তত্য জনপ্রিয়তা  লাভ করেছে এবং  আগামীতে এর পরিধি  আরো বৃদ্বি  পাবে বলে  আশা  করা  যায় ।
Object-oriented programming (OOP) হল প্রোগ্রামিং জগতে এক নতুন সংযোজন। OOP পদ্বতিতে  কতগুলো শব্দ  বার  বার ব্যবহৃত হয়,OOP  প্রোগ্রাম বুঝতে হলে এই শব্দ সন্বন্ধে মৌলিক ধারনা  থাকা বিশেষ প্রয়োজন।
Object, Class, Instance, Method, Message passing, Inheritance, Abstraction, Encapsulation, (Subtype) polymorphism, Decoupling.

Object কি ?

সাধারনভাবে object বলতে বুজায় কোন বস্তু, আপনি real-world এ অনেক উদাহরণ খুঁজে পাবেন: আপনার desk, আপনার টেলিভিশন, আপনার bicycle  একটি অবজেক্ট, বই, কলম, খাতা, কম্পিউটার এগুলো প্রত্যকটিই এক একটি অবজেক্ট। প্রতিটি অবজেক্টের কিছু বৈশিষ্ট থাকে, যেগুলোর জন্য একটি object অন্য একটি object থেকে অলাদা। OOP প্রোগ্রামিং পদ্বতির রান  টাইম এনটিটি হল object। object হল software bundle of related state and behavior.. চলবে.........................

Saturday, March 15, 2014

Lesson 10

JCreator ইন্সটলেসন করার পদ্বতির স্ক্রীনশটগুলো লক্ষ্য করুন এবং অনুস্মরন করুন:

JCreator সফটোয়ারটি নিদিষ্ট সোর্স থেকে ডাউনলোড করে নিন এবং নিম্নোক্ত স্ক্রীনশট অনুযায়ী ইনস্টল প্রক্রিয়া সম্পন্ন করুন।


yk jcreator setup1

Next বাটনে ক্লিক করুন

yk jcreator setup2

Next বাটনে ক্লিক করুন

yk jcreator reg3a

Next বাটনে ক্লিক করুন

yk jcreator setup4

Yes বাটনে ক্লিক করুন

yk jcreator setup5

Next বাটনে ক্লিক করুন

yk jcreator setup6

Next বাটনে ক্লিক করুন

yk jcreator setup7

Install বাটনে ক্লিক করুন

yk jcreator setup8

অপক্ষো করুন...

yk jcreator setup9

Finish বাটনে ক্লিক করুন

yk jcreator setup10a

Save settings for all users সলিক্টে কর Next বাটনে ক্লিক করুন

yk jcreator setup11

yk jcreator setup12

Java সিলেক্ট করুন এবং Next বাটনে ক্লিক করুন

yk jcreator setup13

JDK সোর্স সিলেক্ট করুন এবং Next বাটনে ক্লিক করুন

yk jcreator setup14

Finish বাটনে ক্লিক করুন

yk jcreator setup15

yk jcreator setup16

File>newতে ক্লিক করুন

yk jcreator setup17

Java Class সিলেক্ট করুন এবং Next বাটনে ক্লিক করুন

yk jcreator setup18

class name লিখুন এবং আপনার জাভা ফাইল লোকোশান সিলেক্ট করুন

yk jcreator setup19

yk jcreator setup20

Finish বাটনে ক্লিক করুন

yk jcreator setup21

এই লিংক থেকে এই মূল্যবান জাভা এডিটরটি ডাউনলোড করুন বিনামূল্যে : এটা  ভবিষ্যত প্রোগ্রামারদের এবং টেকটিউনস এর জন্য উপহার আমার পক্ষ থেকে।

JCreator রেজিষ্ট্রেশন প্রক্রিয়া:

JCreator এ যান এবং Help এ ক্লিক করে Enter registraration details ক্লিক করুন

Name এবং  Key নাম্বার দিন
এবার ok ক্লিক  করুন
yk jcreator reg3
এবার ok ক্লিক করে রেজিষ্ট্রশেন প্রক্রিয়া সম্পন্ন করুন
এই লিংকটি থেকে JCreator এর মূল্য সম্বন্ধে ধারনা পাবেন http://www.jcreator.com/register_buy.htm

Lesson 9

জাভা এডিটর- Jcreator

Java JDK5/6 সঠিক ভাবে ইন্সটলেসন শেষ হবার পর এবার আমরা একটি java editor সিলেক্ট করবো যা দ্বারা খুব সহজে আমরা java এডিট , কম্পাইল করতে পারবো।
এই ক্ষেত্রে আমার প্রথম পছন্দ Jcreator, এই ক্ষেত্রে Jcreator সন্বন্ধে কিছুটা ধারনা থাকা আবশ্যক।

jcr

JCreator একটি powerful interactive development environment (IDE)

JCreator দিয়ে যা যা করা যাবে

Microsoft Visual Studio এর মত প্রজক্টে ম্যানজে করা যাবে।

নিজের ইচ্ছানুযায়ী color schemes নির্বাচন করত পারেন XML এর জন্য।

খুব সহজেই কোড লিখতে পারেন প্রজেক্ট টেম্পপ্লেটসহ।

খুব সহজেই Debug করুন DOS prompts না গিয়ে। এছাড়া অনেক সুবিধা পাওয়া যায় JCreator থেকে। বিস্তারিত জানার জন্য এই লিংক থেকে ঘুরে আসুন http://www.jcreator.com/
JCreator দিয়ে বিভিন্ন ধরনের টুলস কনফিগার করা যায়। যেমন-Java Development Kit (JDK) tools এবং  JDK tools to compile, debug, and run the project. এছাড়া Compiler, Ant builder, Interpreter, Applet viewer, Debugging করা যায়।
এছাড়া User Tool 1, User Tool 2, ব্যবহার করা যায় এবং তাতে XML validator,
RMI compiler,JAVA code formatter,Version control,Batch files এডিট করা যায়।

JCreator এর একটি ভালো বৈশিষ্ট হল JDK 1.6.0 থেকে JDK 1.0.2 সবধরনরে নতুন পুরাতন প্ল্যাটফরম কাজ করে।

যেমন

JDK 1.6.0
JDK 1.6.0 - J2EE
JDK 1.6.0 - J2ME
JDK 1.5.0
JDK 1.4.2
JDK 1.2.2
JDK 1.0.2
সঠিক ভাবে JCreator ইন্সটলেসন করার স্ক্রীনশটগুলো লক্ষ্য করুন এবং অনুস্মরন করুন।

Lesson 5

Interface কি?

আমরা ইতিমধ্যে শিখেছি, objectsপদ্ধতির মধ্য দিয়ে বাইরে বিশ্বের সঙ্গে তাদের পারস্পরিক যোগাযোগ কিভাবে সংজ্ঞায়িত করেন ।  বাইরে বিশ্বের সঙ্গে objectএর ইন্টারফেস সংগঠিত করে; আপনার টেলিভিশনের  front বাটন উদাহরণের জন্য ব্যবহার করেছিল, যার মধ্যে ইন্টারফেস আছে এবং এর প্লাস্টিক casingএর অন্যান্য পাশে electrical wiring। আপনি "power" button চাপুন  television  on and off করার জন্য.

In its most common form, an interface is a group of related methods with empty bodies. A bicycle's behavior, if specified as an interface, might appear as follows:

interface Bicycle { void changeCadence(int newValue);

// wheel revolutions per minute void changeGear(int newValue);

void speedUp(int increment);

void applyBrakes(int decrement); }

এই ইন্টারফেস বাস্তবায়ন করতে, আপনার class এর নাম পরিবর্তন করতে হবে (উদাহরণস্বরুপ, যেমন ACMEBicycle এটি একটি নির্দিষ্ট ব্র্যান্ডের bicycle) and you'd use the implements keyword in the class declaration:

class ACMEBicycle implements Bicycle {// remainder of this class implemented as before }

Implementing an interface allows a class to become more formal about the behavior it promises to provide. class এবং বাইরে বিশ্বের মধ্যে ইন্টারফেস আকারে এটি একটি contract, এবং এই contract টি compilerএর দ্বারা build করা হয়। If your class claims to implement an interface, all methods defined by that interface must appear in its source code before the class will successfully compile.

প্যাকেজ কি?

A package is a namespace that organizes a set of related classes and interfaces. প্যাকেজেক Conceptually আপনার computer এ আলাদা ফোল্ডারের similar  ভাবতে পারেন। আপনি HTML pages in one folder, images in another, and scripts or applications in yet another। Because software written in the Java programming language can be composed of hundreds or thousands of individual classes, it makes sense to keep things organized by placing related classes and interfaces into packages.

জাভা প্ল্যাটফর্ম একটি বড় class library (a set of packages) আপনার নিজের অ্যাপলিকেশনে ব্যবহারের জন্য উপযুক্ত। এই library টি " অ্যাপলিকেশন প্রোগ্রামিং ইন্টারফেস ", অথবা " এ.পি.আই. " for short। এর প্যাকেজ general-purpose প্রোগ্রামিংএর সঙ্গে কাজ সর্বাপেক্ষা সাধারণভাবে প্রতিনিধিত্ব করতে সহযোগিতা করে। a String object  contains state and behavior for character strings; a File object allows a programmer to easily create, delete, inspect, compare, or modify a file on the filesystem; a Socket object allows for the creation and use of network sockets; various GUI objects control buttons and checkboxes and anything else related to graphical user interfaces.

The Java Platform API Specification contains the complete listing for all packages, interfaces, classes, fields, and methods supplied by the Java Platform 6, একজন প্রোগ্রামার হিসেবে, এইটি তথ্যসূত্র ডকুমেনটেশনট আপনার একক সর্বাপেক্ষা গুরুত্বপূর্ণ রেফারেন্স হিসাবে কাজে আসবে। গত ৫টি টিউটোরিয়াল এ Object-Oriented Programming Concepts এর কিছু প্রয়োজনীয় বিষয় নিয়ে লোচনা করা হয়েছে। পরবতীতে জাভা সফটোয়্যার ইনস্টল, কনফিগার এবং জাভা এডিটর এবং জাভা Language  Basics নিয়ে বিস্তারিত বননা থাকবে। চলবে..........

Lesson 4

What Is Inheritance?

যে প্রক্রিয়ায় কোন ক্লাস বা অবজেক্টের বা অন্য কোন ক্লাস বা অবজেক্টের বৈশিষ্ট্য অর্জন করে তাক Inheritance বা উত্তরধিকার সূত্রে বলা হয়। একই প্রোগ্রামে  কিছু প্রোগ্রামাংশ বারবার লেখার চেয়ে একবার লিখে তা পুনঃ পুনঃ ব্যবহার করা সুবিদাজনক। প্রোগ্রামে ব্যবহৃত কোন ক্লাস অন্যান্য প্রোগ্রামে ব্যবহার করা যায়। এভাবে পুরাতন ক্লাস থেকে নতুন ক্লাস তৈরি করার কৌশলকে Inheritance বলা হয়।

Mountain Bike,Road bikes, উদাহরণের জন্য এবং সমলয়ে bikes, bicyclesএর সমস্ত শেয়ার গুণাবলিসমূহ (বর্তমান গতি, বর্তমান pedal cadence, বর্তমান gear)। প্রত্যেক এখনও অতিরিক্ত বৈশিষ্ট্য ও সংজ্ঞায়িত করে যে তাদেরকে আলাদা তৈরি করে: সমলয়ে bicyclesএর দুই আসন রয়েছে এবং handlebarsএর দুই সেট; রাস্তা bikesএর বিন্দু handlebars রয়েছে; কিছু পর্বত bikesএর একটি অতিরিক্ত শৃঙ্খল বলয়, তাদের একটি নিম্নতর gear অনুপাত রয়েছে। Object-oriented প্রোগ্রামিং অন্যান্য শ্রেণী থেকে সাধারণভাবে ব্যবহৃত স্ট্যইট এবং আচরণ উত্তরাধিকারসূত্রে পেতে শ্রেণী অনুমোদন করে। এই উদাহরণেটি, Bicycle MountainBike, RoadBikeএর superclassহবে, এবং TandemBike। জাভা প্রোগ্রামিং ভাষাতে, প্রত্যেক শ্রেনী একটি সরাসরি superclass রাখতে অনুমোদন করা হয়, এবং প্রত্যেক superclassএর subclassesএর একটি অসীম সংখ্যার জন্য সম্ভাবনা রয়েছে:

concepts-bikeHeirarchy

একটি subclass তৈরি করার জন্য বাক্যরীতি সহজ। আপনার class ঘোষণার শুরুতে, মূলশব্দ ব্যবহার করুন প্রসারিত করুন, যা উত্তরাধিকারসূত্রে পেয়েছেন এবং  শ্রেনীর নামের দ্বারা অনুসরণ করেছিলেন:

নীচের উদাহরনটি লক্ষ্য করুন-

class MountainBike extends Bicycle {// new fields and methods defining a mountain bike would go here
}

এটি MountainBike এর ক্ষেত্রে  Bicycle হিসেবে পদ্ধতি এর , বৈশিষ্ট্যে একচেটিয়াভাবে ফোকাস করতে এর কোড এখনও অনুমোদন করে যে এটি অনন্য তৈরি করে। এটি পড়তে আপনার subclasses সহজের জন্য কোড তৈরি করে। উপরন্তু, আপনার স্ট্যাট এবং আচরণ সঠিকভাবে ডকুমেন্টতে  গ্রহণ করে যা প্রত্যেক superclass সংজ্ঞায়িত করেন, since that code will not appear in the source file of each subclass.