Category: Kotlin

kotlin-sealed-class-sealed-interface

কটলিন সীলড ক্লাস ও সীলড ইন্টারফেস – Kotlin sealed class & sealed interface

মনে করুন, একটি কাজ করতে গিয়ে কয়েকটি ক্লাস প্রয়োজন, এই ক্লাসগুলিকে আমরা একটি সেট বা গ্রুপ বলতে পারি। যেমন: একটি ফাইল ডাউনলোডে প্রয়োজন, সেক্ষেত্রে ডাউনলোডের অবস্থা (State) থাকতে পারে এরকম: ডাউনলোডিং, পজ, রিজিওম, সাকসেস, ইরর। এখন এই ৫ রকমের কাজের ক্ষেত্রে ৫ টি ক্লাস ও আলাদা একটি সীলড ক্লাস তৈরি করা যেতে পারে। ৫ টি […]

data-class-kotlin

কটলিন ডেটা ক্লাস – Data Class in Kotlin

কটলিন ডেটা ক্লাস: ডেটা নিয়ে কাজ করার জন্য ডেটা ক্লাস ব্যবহার করা যায়। এটি মূলত অন্যান্য কাজের পাশাপাশি ডেটা ধরে রেখে তা নিয়ে কাজ করার জন্য বিশেষ ক্লাস। তাহলে বলতে পারি যে, ডেটা ক্লাস হলো ডেটার প্লেসহোল্ডার বা ধারক। ডেটা ক্লাস দেখতে কেমন? যেহেতু ডেটা নিয়ে কাজ করার জন্য এটি তৈরি তাই এর প্রাইমারি কনস্ট্রাক্টরে […]

kotlin-abstruct-class

কটলিন এ্যাবস্ট্রাক্ট ক্লাস – Kotlin Abstract Class in bangla

কটলিন এ্যাবস্ট্রাক্ট ক্লাস: সহজ কথায় যে ক্লাসে abstract কী-ওয়ার্ড ব্যবহার করা হয় সেটাই এ্যাবস্ট্রাক্ট ক্লাস। এ্যাবস্ট্রাক্ট ক্লাস দিয়ে কিন্তু অবজেক্ট তৈরি করা বা ইনস্টেন্স তৈরি করা যায় না। এই ক্লাসের মেথড/ফাংশন ও প্রোপার্টি/ভেরিয়েবল গুলো কিন্তু এ্যাবস্ট্রাক্ট নয় তাই এদেরকে এ্যাবস্ট্রাক্ট করার জন্য আলাদাভাবে abstract কী-ওয়ার্ড ব্যবহার করতে হয়। এ্যাবস্ট্রাক্ট ক্লাস কেন দরকার? কোডের তথ্য লুকিয়ে […]

jvm-jre-jdk-jit

JVM, JRE, JDK, JIT

জাভা/কটলিন যেহেতু জাভা ভার্চুয়াল মেশিনের (JVM) উপর রান করে। তাই প্রথমে JVM, JRE এবং JDK এগুলো সম্পর্কে ধারণা থাকা জরুরি। JVM = Java Virtual Machine JRE = Java Runtime Environment JDK = Java Development Kit JVM: জাভা ভার্চুয়াল মেশিন হলো জাভার জন্য একটা কৃত্রিম যন্ত্র। ভার্চুয়াল মেশিন বা কৃত্রিম যন্ত্র বলার কারন হলো এটার বাস্তব […]

কটলিন – ভূমিকা – Kotlin – Intro.

কটলিন কি? কটলিন হলো ওপেন সোর্স, স্ট্যাটিক্যালি টাইপ (statically-typed) এবং জেনারেল পারপাস প্রোগ্রামিং ল্যাঙ্গুয়েজ। এটা JVM এর উপর রান করে। যে সব ক্ষেত্রে জাভা ল্যাঙ্গুয়েজ ব্যবহার করা যায় সেসব ক্ষেত্রে কটলিনও ব্যবহার করা যায়। যেমন: এন্ড্রয়েড এ্যাপ ডেভলপমেন্ট, সার্ভার সাইড সফটওয়্যার ডেভলপমেন্ট, ডেস্কটপ সফটওয়্যার ইত্যাদি। কটলিন ডেভলপমেন্টের প্রধান আন্দ্রে ব্রেস্লাভ (Andrey Breslav) এর মতে এটা […]

kotlin-input-output

কটলিন ইনপুট/আউটপুট – Kotlin Input/Output Bangla tutorial

কটলিনের স্ট্যান্ডার্ড ইনপুট আউটপুট অপারেশন হয়ে থাকে বাইট স্ট্রীমের (byte stream) প্রবাহের মাধ্যমে। এটা ইনপুট ডিভাইস (keyboard) থেকে মেইন মেমোরি (RAM) এবং মেইন মেমোরি থেকে আউটপুট ডিভাইসে (Monitor) যায়। এখানে আমরা প্রিন্ট শব্দটি ব্যবহার করব, এর মানে হলো টার্মিনালে কোন লেখাকে প্রদর্শন করা। কটলিন আউটপুট: কটলিনের আউটপুট অপারেশন হয়ে থাকে কটলিনের স্ট্যান্ডার্ড মেথড print() এবং […]

কটলিন অপারেটর – Kotlin Operator (Bangla tutorial)

গাণিতিক, তুলনামূলক, যৌক্তিক ইত্যাদি কাজের জন্য কটলিনে কিছু অপারেটর রয়েছে।অপারেটর গুলো হলো বিশেষ কিছু চিহ্ন যা এসব কাজ করার জন্য ব্যবহার করা হয়। অপারেটর গুলো হলো: ম্যাথমিটিকাল অপারেটর: যোগ, বিয়োগ, গুণ, ভাগ ইত্যাদি গাণিতিক কাজ করার জন্য ম্যাথমিটিকাল অপারেটর ব্যবহার করা হয়। অপারেটর ব্যবহার কাজ + a + b a এবং b দুটির ভ্যালু যোগ […]

কটলিন টাইপ কনভার্সন – Kotlin type conversion

এক ধরনের ডাটাকে অন্য ধরনের ডাটায় রুপান্তর করা হলো টাইপ কনভার্সন। কটলিনে ক্ষুদ্রতর ডাটা টাইপ থেকে বৃহত্তর ডাটা টাইপে সরাসরি এ্যাসাইন করা যায় না। অর্থাৎ ইন্টিজার কে লং টাইপের ভেরিয়েবলে এ্যাসাইন করা যাবে না অর্থাৎ Implicit conversion করা যাবে না, ইরর হবে। কিন্তু এখন যদি ইন্টিজারের ডাটা লং টাইপের ভেরিয়েবলে রাখার প্রয়োজন হয় তখন কি […]

কটলিন ভেরিয়েবল – Kotlin Variable

ভেরিয়েবল বলতে বুঝায় মেমোরির অবস্থান, অর্থাৎ একটি ডাটা রাখার জন্য বা স্টোর করার জন্য মেমোরির কোন যায়গাটি দখল করবে তা এই ভেরিয়েবল নির্দিষ্ট করে। সহজভাবে: ভেরিয়েবলে হলো মেমোরির কোন একটা অবস্থান যেখানে আমরা ডাটা রাখতে পারি। কিভাবে ভেরিয়েবল লিখব? কটলিনে ভেরিয়েবল লেখার জন্য দুটি কী-ওয়ার্ড আছে ( var এবং val ) শুরুতে var অথবা val […]

ফাংশন নাকি মেথড (Function / Method)

কটলিনে ফাংশন এবং মেথড দুটোই আছে। উদাহরণে আমরা কটলিনের ফাংশন এবং মেথড দেখব। ফাংশন: কতগুলো কোড একসাথে রেখে একটা নাম দিয়ে অন্য কোডের মধ্যে কল করা যায়, এটাকে ফাংশন বলে। যেমন: আমরা যে Hello World এপ্লিকেশন বানিয়েছি সেখানে main নামে একটা ফাংশনের ভিতরে কোড করেছিলাম। main নিজে একটা ফাংশন, আমরা চাইলে নিজের মতো করে আরেকটা […]

X