Difference between revisions of "Java/C2/Creating-object/Bengali"

From Script | Spoken-Tutorial
Jump to: navigation, search
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{| border=1
 
{| border=1
|| ''Time'''
+
|| '''Time'''
 
|| '''Narration'''
 
|| '''Narration'''
 
|-
 
|-
Line 7: Line 7:
  
 
|-
 
|-
| 00:05
+
| 00:05  
|  এই টিউটোরিয়ালে আমরা
+
|  এই টিউটোরিয়ালে
  
 
রেফারেন্স ভ্যারিয়েবল,
 
রেফারেন্স ভ্যারিয়েবল,
Line 20: Line 20:
 
|  এখানে আমরা
 
|  এখানে আমরা
  
উবুন্টু '''11.10''',
+
উবুন্টু সংস্করণ '''11.10''',
  
 
'''JDK 1.6''' এবং
 
'''JDK 1.6''' এবং
Line 28: Line 28:
 
|-
 
|-
 
|  00:23
 
|  00:23
|  টিউটোরিয়ালটি অনুসরণ করতে Eclipse ব্যবহার করে সহজ ক্লাস কিভাবে তৈরি করে তা জানতে হবে।
+
|  টিউটোরিয়ালটি অনুসরণ করতে '''Eclipse''' ব্যবহার করে সহজ ক্লাস তৈরি সম্পর্কে জানতে হবে।
  
 
|-
 
|-
Line 34: Line 34:
 
|না হলে, এই বিষয়ে '''spoken hyphen tutorial dot org''' তে উপলব্ধ এই টিউটোরিয়ালটি দেখুন।
 
|না হলে, এই বিষয়ে '''spoken hyphen tutorial dot org''' তে উপলব্ধ এই টিউটোরিয়ালটি দেখুন।
 
|-
 
|-
| 00:38  
+
| 00:38
| | আমরা জানি যে '''variables''' এবং '''methods''' একত্রে ক্লাসের মেম্বার গঠন করে।
+
| | '''variables''' এবং '''methods''' একত্রে ক্লাসের মেম্বার গঠন করে।
  
 
|-
 
|-
Line 42: Line 42:
  
 
|-
 
|-
|00:48  
+
|00:48    
 
| | এখন দেখি যে অবজেক্ট কি ?
 
| | এখন দেখি যে অবজেক্ট কি ?
  
Line 55: Line 55:
 
|-
 
|-
 
| 00:58
 
| 00:58
|'''human being class''' এর উদাহরণটি  মনে করুন যা আগের টিউটোরিয়ালে আলোচনা করেছিলাম।
+
|'''human being class''' এর উদাহরণটি  মনে করুন যা আগের টিউটোরিয়ালে ব্যাখ্যা করেছি।
  
 
|-
 
|-
 
| 01:04
 
| 01:04
|অবজেক্ট তার state ফিল্ডস অথবা ভ্যারিয়েবলে সংরক্ষিত করে।
+
|অবজেক্ট তার '''state''' ফিল্ডস বা ভ্যারিয়েবলে সংরক্ষিত করে।
  
 
|-
 
|-
Line 83: Line 83:
 
|-
 
|-
 
|  01:28
 
|  01:28
|  '''Student''' ক্লাসে ফিরে যাই যা আমরা ইতিমধ্যে আগের টিউটোরিয়ালে তৈরি করেছি।
+
এখন '''Student''' ক্লাসে ফিরে যাই যা আমরা ইতিমধ্যে আগের টিউটোরিয়ালে তৈরি করেছি।
  
 
|-
 
|-
Line 107: Line 107:
 
|-
 
|-
 
| 02:06
 
| 02:06
|এখন মেন মেথডে আমি '''Student''' ক্লাসের অবজেক্ট তৈরী করব।
+
|এখন আমি মেন মেথডে '''Student''' ক্লাসের অবজেক্ট তৈরী করব।
  
 
|-
 
|-
Line 115: Line 115:
 
|-
 
|-
 
| 02:17
 
| 02:17
|Student স্পেস stud1 ইকুয়াল টু new স্পেস Student ওপেনিং এবং ক্লোসিং বন্ধনী, সেমিকোলন।
+
|'''Student''' স্পেস '''stud1''' ইকুয়াল টু '''new''' স্পেস '''Student''' ওপেনিং এবং ক্লোসিং বন্ধনী, সেমিকোলন।
  
 
|-
 
|-
 
| 02:34
 
| 02:34
|সুতরাং আমরা Student ক্লাসের অবজেক্ট তৈরী করেছি।
+
| আমরা '''Student''' ক্লাসের অবজেক্ট তৈরী করেছি।
  
 
|-
 
|-
 
| 02:37
 
| 02:37
|এখানে Student হল ক্লাসের নাম যার জন্য অবজেক্ট তৈরী করা হয়।
+
|এখানে '''Student''' হল ক্লাসের নাম যার জন্য অবজেক্ট তৈরী করা হয়।
  
|-  
+
|-
 
| 02:47
 
| 02:47
|'''stud1''' হল রেফারেন্স ভ্যারিয়েবল যা Student ক্লাসের অবজেক্টে প্রসঙ্গিত।
+
|'''stud1''' হল রেফারেন্স ভ্যারিয়েবল যা '''Student''' ক্লাসের অবজেক্টে প্রসঙ্গিত।
  
 
|-
 
|-
 
| 02:53
 
| 02:53
|এবং new কীওয়ার্ড নতুন অবজেক্ট তৈরির জন্য স্পেস বরাদ্দ করে।
+
|এবং '''new''' কীওয়ার্ড নতুন অবজেক্ট তৈরির জন্য স্পেস বরাদ্দ করে।
  
 
|-
 
|-
 
| 02:59
 
| 02:59
|লক্ষ্য করুন যে Stud1, Student ক্লাসের অবজেক্ট নয়।
+
|'''Stud1, Student''' ক্লাসের অবজেক্ট নয়।
  
 
|-
 
|-
Line 143: Line 143:
 
|-
 
|-
 
|  03:09
 
|  03:09
| এখন দেখি যে stud1 এ কি রয়েছে।
+
| এখন দেখি যে '''stud1''' এ কি রয়েছে।
  
 
|-
 
|-
 
| 03:13
 
| 03:13
|তাই পরের লাইনে লিখুন '''System dot out dot println''' বন্ধনী ও ডবল উদ্ধৃতি চিনহের মধ্যে stud1 contains স্পেস প্লাস stud1 এবং সেমিকোলন।
+
|তাই পরের লাইনে লিখুন '''System dot out dot println''' বন্ধনী ও ডবল উদ্ধৃতি চিনহের মধ্যে '''stud1 contains''' স্পেস প্লাস '''stud1''' এবং সেমিকোলন।
  
 
|-
 
|-
Line 159: Line 159:
 
|-
 
|-
 
| 03:56
 
| 03:56
|সুতরাং এখানে Student নির্মিত নতুন অবজেক্টের ক্লাসের নাম।
+
|সুতরাং এখানে '''Student''' হল নির্মিত নতুন অবজেক্টের ক্লাসের নাম।
  
 
|-
 
|-
Line 167: Line 167:
 
|-
 
|-
 
| 04:08
 
| 04:08
|stud1 ব্যবহার করে আমরা Student ক্লাসের ফিল্ডস এবং মেথড অ্যাক্সেস করতে পারি।
+
|'''stud1''' ব্যবহার করে আমরা '''Student''' ক্লাসের ফিল্ডস এবং মেথড অ্যাক্সেস করতে পারি।
  
 
|-
 
|-
 
| 04:15
 
| 04:15
|আমরা এই সম্পর্কে আসন্ন টিউটোরিয়ালে শিখব।
+
|আমরা এই সম্পর্কে পরে শিখব।
 
|-
 
|-
 
| 04:18
 
| 04:18
|  এখন, আমি Student ক্লাসের আরেকটি অবজেক্ট তৈরী করব।
+
|  এখন, আমি '''Student''' ক্লাসের আরেকটি অবজেক্ট তৈরী করব।
  
 
|-
 
|-
 
| 04:24
 
| 04:24
|তাই আমি লিখব Student স্পেস stud2 ইকুয়াল টু new স্পেস Student ওপেনিং এবং ক্লোসিং বন্ধনী, সেমিকোলন।
+
|তাই আমি লিখব '''Student''' স্পেস '''stud2''' ইকুয়াল টু '''new''' স্পেস '''Student''' ওপেনিং এবং ক্লোসিং বন্ধনী, সেমিকোলন।
 
|-
 
|-
 
|  04:47
 
|  04:47
| পরের লাইনে লিখুন '''System dot out dot println''', বন্ধনী ও ডবল উদ্ধৃতি চিনহের মধ্যে stud2 contains স্পেস প্লাস stud2 এবং সেমিকোলন।
+
| এখন পরের লাইনে লিখুন '''System dot out dot println''', বন্ধনী ও ডবল উদ্ধৃতি চিনহের মধ্যে '''stud2 contains''' স্পেস প্লাস '''stud2''' এবং সেমিকোলন।
  
 
|-
 
|-
Line 189: Line 189:
 
|-
 
|-
 
|  05:25
 
|  05:25
|আমরা দেখতে পারি যে এখানে '''stud1''' এবং '''stud2''' দুটি ভিন্ন অবজেক্টকে বোঝায়।
+
|আমরা দেখি যে এখানে '''stud1''' এবং '''stud2''' দুটি ভিন্ন অবজেক্টকে বোঝায়।
  
 
|-
 
|-
 
| 05:31
 
| 05:31
|'''stud1''' এবং '''stud2''' দুটি ভিন্ন শিক্ষার্থীকে বোঝায়।
+
|সুতরাং '''stud1''' এবং '''stud2''' দুটি ভিন্ন শিক্ষার্থীকে বোঝায়।
  
 
|-
 
|-
Line 201: Line 201:
 
|-
 
|-
 
|  05:44
 
|  05:44
|  এখন, আমরা এখানে একটি পরিবর্তন করতে পারি।
+
|  এখন, এখানে আমরা একটি পরিবর্তন করতে পারি।
  
 
|-
 
|-
 
| 05:51
 
| 05:51
|এখানে লিখুন Student stud2 ইকুয়াল টু stud1.
+
|এখানে লিখুন '''Student stud2''' ইকুয়াল টু '''stud1'''.
  
 
|-
 
|-
Line 213: Line 213:
 
|-
 
|-
 
| 06:06
 
| 06:06
|  আমরা দেখতে পারি যে এখানে '''stud1''' এবং '''stud2''' উভয়ই এক অবজেক্টকে বোঝায়।
+
|  আমরা দেখি যে এখানে '''stud1''' এবং '''stud2''' উভয়ই এক অবজেক্টকে বোঝায়।
  
 
|-
 
|-
 
| 06:12
 
| 06:12
|এর অর্থ উভয় '''stud1''' এবং '''stud2''' একটি রোল নম্বর নামের সাথে একই অবজেক্টকে বোঝায়।
+
|এর মানে হল '''stud1''' এবং '''stud2''' উভয়ই একটি রোল নম্বর এবং নামের সাথে একই অবজেক্টকে বোঝায়।
 
|-
 
|-
 
|  06:31
 
|  06:31
 
|  সুতরাং এই টিউটোরিয়ালে আমরা শিখেছি
 
|  সুতরাং এই টিউটোরিয়ালে আমরা শিখেছি
 
 
|-
 
|-
 
| 06:34
 
| 06:34
|রেফারেন্স ভ্যারিয়েবল,
+
|রেফারেন্স ভ্যারিয়েবল, নতুন অপারেটর ব্যবহার করে অবজেক্ট তৈরী
|-
+
|06:35
+
| নতুন অপারেটর ব্যবহার করে অবজেক্ট তৈরী
+
 
|-
 
|-
| 06:38
+
| 06:38  
 
|এবং নির্দেশিত রেফারেন্স।
 
|এবং নির্দেশিত রেফারেন্স।
  
 
|-
 
|-
 
| 06:41
 
| 06:41
আত্ম মূল্যায়নের জন্য
+
নির্দেশিত কাজ হিসাবে
 
|-
 
|-
 
| 06:43
 
| 06:43
Line 240: Line 236:
 
|-
 
|-
 
| 06:46
 
| 06:46
| emp1 হিসাবে রেফারেন্স ভ্যারিয়েবলের সাথে Employee ক্লাসের অবজেক্ট তৈরি করুন।
+
| emp1 হিসাবে রেফারেন্স ভ্যারিয়েবলের সাথে '''Employee''' ক্লাসের অবজেক্ট তৈরি করুন।
  
 
|-
 
|-
Line 247: Line 243:
 
|-
 
|-
 
| 06:55
 
| 06:55
|এই লিঙ্কে উপলব্ধ ভিডিওটি দেখুন, spoken-tutorial.org/what is a spoken-tutorial
+
|এই লিঙ্কে উপলব্ধ ভিডিওটি দেখুন, '''spoken-tutorial.org/what is a spoken-tutorial'''
  
 
|-
 
|-
 
| 06:58
 
| 06:58
| এটি কথ্য টিউটোরিয়াল প্রকল্পকে সারসংক্ষেপে বোঝায়।
+
| এটি প্রকল্পকে সারসংক্ষেপে বোঝায়।
  
 
|-
 
|-
 
| 07:01
 
| 07:01
| ভাল ব্যান্ডউইডথ না থাকলে আপনি ভিডিওটি ডাউনলোড করে দেখতে পারেন।
+
| ভাল ব্যান্ডউইডথ না থাকলে ভিডিওটি ডাউনলোড করে দেখুন।
  
 
|-
 
|-
 
|  07:05
 
|  07:05
| | কথ্য টিউটোরিয়াল প্রকল্প দল
+
| | স্পোকেন টিউটোরিয়াল প্রকল্প দল
  
 
|-
 
|-
 
| 07:07
 
| 07:07
|কথ্য টিউটোরিয়াল ব্যবহার করে কর্মশালার আয়োজন করে।
+
|টিউটোরিয়াল ব্যবহার করে কর্মশালার আয়োজন করে।
  
 
|-
 
|-
 
| 07:10
 
| 07:10
| অনলাইন পরীক্ষা পাস করলে প্রশংসাপত্র দেওয়া হয়।
+
| অনলাইন পরীক্ষা পাস করলে প্রশংসাপত্র দেয়।
  
 
|-
 
|-
 
| 07:14
 
| 07:14
| এই বিষয়ে বিস্তারিত তথ্যের জন্য contact@spoken-tutorial.org তে ইমেল করুন।
+
| এই বিষয়ে বিস্তারিত তথ্যের জন্য '''contact@spoken-tutorial.org''' তে ইমেল করুন।
  
 
|-
 
|-
 
| 07:20
 
| 07:20
|  স্পোকেন টিউটোরিয়াল Talk to a Teacher প্রকল্পের অংশবিশেষ।
+
|  স্পোকেন টিউটোরিয়াল '''Talk to a Teacher''' প্রকল্পের অংশবিশেষ।
  
 
|-
 
|-
 
| 07:24
 
| 07:24
|এটি ভারত সরকারের ICT, MHRD এর National Mission on Education দ্বারা সমর্থিত।
+
|এটি ভারত সরকারের '''ICT, MHRD''' এর জাতীয় শিক্ষা মিশন  দ্বারা সমর্থিত।
 
|-
 
|-
 
| 07:31
 
| 07:31
|এই বিষয়ে বিস্তারিত তথ্য এই লিঙ্কে  প্রাপ্তিসাধ্য, http://spoken-tutorial.org/NMEICT-Intro
+
|এই বিষয়ে বিস্তারিত তথ্য এই লিঙ্কে  প্রাপ্তিসাধ্য, '''http://spoken-tutorial.org/NMEICT-Intro'''
  
 
|-
 
|-
 
| 07:40
 
| 07:40
| আমরা এই টিউটোরিয়ালের শেষে চলে এসেছি।
+
| আমরা টিউটোরিয়ালের শেষে চলে এসেছি।
  
 
|-
 
|-
 
| 07:43
 
| 07:43
|আমি কৌশিক দত্ত এই টিউটোরিয়ালটি অনুবাদ করেছি।
+
|আমি কৌশিক দত্ত টিউটোরিয়ালটি অনুবাদ করেছি।
 
|-
 
|-
 
| 07:46
 
| 07:46
|অংশগ্রহনের জন্য ধন্যবাদ।
+
| ধন্যবাদ।

Latest revision as of 12:43, 25 February 2017

Time Narration
00:01 Creating objects এর কথ্য টিউটোরিয়ালে আপনাদের স্বাগত।
00:05 এই টিউটোরিয়ালে

রেফারেন্স ভ্যারিয়েবল,

কন্সট্রকটিং অবজেক্ট এবং

অবজেক্টের জন্য মেমরি অ্যালোকেশন সম্পর্কে শিখব।

00:13 এখানে আমরা

উবুন্টু সংস্করণ 11.10,

JDK 1.6 এবং

Eclipse IDE 3.7.0 ব্যবহার করছি।

00:23 টিউটোরিয়ালটি অনুসরণ করতে Eclipse ব্যবহার করে সহজ ক্লাস তৈরি সম্পর্কে জানতে হবে।
00:29 না হলে, এই বিষয়ে spoken hyphen tutorial dot org তে উপলব্ধ এই টিউটোরিয়ালটি দেখুন।
00:38 variables এবং methods একত্রে ক্লাসের মেম্বার গঠন করে।
00:43 ক্লাসের মেম্বার অ্যাক্সেস করতে, ক্লাসের জন্য অবজেক্ট তৈরি করা প্রয়োজন।
00:48 এখন দেখি যে অবজেক্ট কি ?
00:52 অবজেক্ট হল ক্লাসের ইনস্ট্যান্স।
00:55 প্রতিটি অবজেক্ট state এবং behavior দ্বারা গঠিত।
00:58 human being class এর উদাহরণটি মনে করুন যা আগের টিউটোরিয়ালে ব্যাখ্যা করেছি।
01:04 অবজেক্ট তার state ফিল্ডস বা ভ্যারিয়েবলে সংরক্ষিত করে।
01:08 এটি তার আচরণ methods এর মাধ্যমে প্রকাশ করে।
01:11 এখন রেফারেন্স ভ্যারিয়েবল সম্পর্কে শেখা যাক।
01:15 আমরা জাভাতে ৮টি প্রিমিটিভ ডেটা টাইপ সম্পর্কে জানি।
01:19 অন্য সকল ধরন প্রিমিটিভের বদলে অবজেক্টে প্রসঙ্গিত।
01:23 ভ্যারিয়েবল যা অবজেক্টে প্রসঙ্গিত তা হল রেফারেন্স ভ্যারিয়েবল।
01:28 এখন Student ক্লাসে ফিরে যাই যা আমরা ইতিমধ্যে আগের টিউটোরিয়ালে তৈরি করেছি।
01:37 এখন, এই ক্লাস থেকে মেন মেথড মুছে ফেলি।
01:49 এখন Ctrl এবং S কি একসাথে টিপে ফাইলটি সংরক্ষণ করি।
01:55 এখন একই প্রজেক্টে TestStudent নামে আরেকটি ক্লাস তৈরি করুন।
02:00 আমি ইতিমধ্যে এটি তৈরি করেছি।
02:03 এই ক্লাসে মেন মেথড রয়েছে।
02:06 এখন আমি মেন মেথডে Student ক্লাসের অবজেক্ট তৈরী করব।
02:11 এইজন্য, মেন মেথডে লিখব
02:17 Student স্পেস stud1 ইকুয়াল টু new স্পেস Student ওপেনিং এবং ক্লোসিং বন্ধনী, সেমিকোলন।
02:34 আমরা Student ক্লাসের অবজেক্ট তৈরী করেছি।
02:37 এখানে Student হল ক্লাসের নাম যার জন্য অবজেক্ট তৈরী করা হয়।
02:47 stud1 হল রেফারেন্স ভ্যারিয়েবল যা Student ক্লাসের অবজেক্টে প্রসঙ্গিত।
02:53 এবং new কীওয়ার্ড নতুন অবজেক্ট তৈরির জন্য স্পেস বরাদ্দ করে।
02:59 Stud1, Student ক্লাসের অবজেক্ট নয়।
03:03 এটি শুধুমাত্র নির্মিত নতুন অবজেক্টের রেফারেন্স রাখে।
03:09 এখন দেখি যে stud1 এ কি রয়েছে।
03:13 তাই পরের লাইনে লিখুন System dot out dot println বন্ধনী ও ডবল উদ্ধৃতি চিনহের মধ্যে stud1 contains স্পেস প্লাস stud1 এবং সেমিকোলন।
03:44 এখন TestStudent dot java ফাইলটি সংরক্ষণ করে রান করুন।
03:53 আমরা নিম্নরূপে আউটপুট পাই।
03:56 সুতরাং এখানে Student হল নির্মিত নতুন অবজেক্টের ক্লাসের নাম।
04:03 দ্বিতীয় অংশ হল নির্মিত নতুন অবজেক্টের মেমরি এড্রেস।
04:08 stud1 ব্যবহার করে আমরা Student ক্লাসের ফিল্ডস এবং মেথড অ্যাক্সেস করতে পারি।
04:15 আমরা এই সম্পর্কে পরে শিখব।
04:18 এখন, আমি Student ক্লাসের আরেকটি অবজেক্ট তৈরী করব।
04:24 তাই আমি লিখব Student স্পেস stud2 ইকুয়াল টু new স্পেস Student ওপেনিং এবং ক্লোসিং বন্ধনী, সেমিকোলন।
04:47 এখন পরের লাইনে লিখুন System dot out dot println, বন্ধনী ও ডবল উদ্ধৃতি চিনহের মধ্যে stud2 contains স্পেস প্লাস stud2 এবং সেমিকোলন।
05:19 এখন এই ফাইলটি সংরক্ষণ করে রান করি।
05:25 আমরা দেখি যে এখানে stud1 এবং stud2 দুটি ভিন্ন অবজেক্টকে বোঝায়।
05:31 সুতরাং stud1 এবং stud2 দুটি ভিন্ন শিক্ষার্থীকে বোঝায়।
05:37 আমাদের কাছে ভিন্ন রোল নম্বর এবং নাম রয়েছে।
05:44 এখন, এখানে আমরা একটি পরিবর্তন করতে পারি।
05:51 এখানে লিখুন Student stud2 ইকুয়াল টু stud1.
06:01 এখন এই ফাইলটি সংরক্ষণ করে রান করুন।
06:06 আমরা দেখি যে এখানে stud1 এবং stud2 উভয়ই এক অবজেক্টকে বোঝায়।
06:12 এর মানে হল stud1 এবং stud2 উভয়ই একটি রোল নম্বর এবং নামের সাথে একই অবজেক্টকে বোঝায়।
06:31 সুতরাং এই টিউটোরিয়ালে আমরা শিখেছি
06:34 রেফারেন্স ভ্যারিয়েবল, নতুন অপারেটর ব্যবহার করে অবজেক্ট তৈরী
06:38 এবং নির্দেশিত রেফারেন্স।
06:41 নির্দেশিত কাজ হিসাবে
06:43 TestEmployee নামে আরেকটি ক্লাস তৈরি করুন।
06:46 emp1 হিসাবে রেফারেন্স ভ্যারিয়েবলের সাথে Employee ক্লাসের অবজেক্ট তৈরি করুন।
06:52 স্পোকেন টিউটোরিয়াল প্রকল্প সম্পর্কে অধিক জানতে,
06:55 এই লিঙ্কে উপলব্ধ ভিডিওটি দেখুন, spoken-tutorial.org/what is a spoken-tutorial
06:58 এটি প্রকল্পকে সারসংক্ষেপে বোঝায়।
07:01 ভাল ব্যান্ডউইডথ না থাকলে ভিডিওটি ডাউনলোড করে দেখুন।
07:05 স্পোকেন টিউটোরিয়াল প্রকল্প দল
07:07 টিউটোরিয়াল ব্যবহার করে কর্মশালার আয়োজন করে।
07:10 অনলাইন পরীক্ষা পাস করলে প্রশংসাপত্র দেয়।
07:14 এই বিষয়ে বিস্তারিত তথ্যের জন্য contact@spoken-tutorial.org তে ইমেল করুন।
07:20 স্পোকেন টিউটোরিয়াল Talk to a Teacher প্রকল্পের অংশবিশেষ।
07:24 এটি ভারত সরকারের ICT, MHRD এর জাতীয় শিক্ষা মিশন দ্বারা সমর্থিত।
07:31 এই বিষয়ে বিস্তারিত তথ্য এই লিঙ্কে প্রাপ্তিসাধ্য, http://spoken-tutorial.org/NMEICT-Intro
07:40 আমরা টিউটোরিয়ালের শেষে চলে এসেছি।
07:43 আমি কৌশিক দত্ত টিউটোরিয়ালটি অনুবাদ করেছি।
07:46 ধন্যবাদ।

Contributors and Content Editors

Kaushik Datta, Pratik kamble