কম্পিউটার, প্রোগ্রামিং
পিএলও - এটা কি? অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং মৌলিক নীতি
কেন অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং সবচেয়ে প্রকল্পে পছন্দ করা হয়? পিএলও তাদের জটিলতা মোকাবেলা করার একটি কার্যকর উপায় উপলব্ধ করা হয়। এক্সিকিউটেবল নির্দেশাবলীর একটি ক্রম হিসাবে একটি প্রোগ্রাম বিবেচনা পরিবর্তে, এটা এটি নির্দিষ্ট বৈশিষ্ট্য সঙ্গে একটি বস্তুর দল হিসেবে প্রতিনিধিত্ব করে এবং তাদের নির্দিষ্ট কর্মের উত্পাদন। এই পরিষ্কার, আরো নির্ভরযোগ্য এবং legkosoprovozhdaemyh অ্যাপ্লিকেশন ফলাফল।
মৌলিক নীতির অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং (গলি) গঠিত কারণ বিধিনিষেধ পূর্ব বিদ্যমান পন্থা পাওয়া গেছে। তাদের মধ্যে - তথ্য ও লিঙ্ক সংখ্যক, যা পরিবর্তন উপর বিধিনিষেধ আরোপ করার সীমাহীন প্রবেশাধিকার। তাদের সচেতনতা এবং কারণগুলো গুরুত্বপূর্ণ কি গলি প্রোগ্রামিং বুঝতে প্রয়োজন এবং এর সুবিধাগুলো কি আছে।
পদ্ধতিগত ভাষায়
সি, পাসকাল, ফোরট্রান, এবং অনুরূপ ভাষায় পদ্ধতিগত হয়। , ডেটা পেতে নম্বর, ছয় ভাগে বিভক্ত, ফলে প্রদর্শিত পর্যন্ত যোগ: তা অপারেটর প্রতিটি কম্পিউটারে বলে কিছু করতে হয়। পরিশিষ্ট পদ্ধতিগত ভাষা নির্দেশ তালিকা রয়েছে। যদি ছোট হয়, অন্য কোন সাংগঠনিক নীতি (প্রায়ই একটি দৃষ্টান্ত হিসাবে উল্লেখ করা হয়েছে) প্রয়োজন হয় না। প্রোগ্রামার নির্দেশাবলীর একটি তালিকা তৈরি করে, এবং কম্পিউটার তাদের সঞ্চালন করে।
ফাংশন বিচ্ছেদ
অ্যাপ্লিকেশন পালাক্রমে আরো কষ্টকর তালিকা হয়ে যায়। কয়েক কয়েকশ নির্দেশাবলী চেয়ে বেশি বুঝতে পারেন যতক্ষণ না তারা গোষ্ঠীবদ্ধ করে। এই কারণে, ফাংশন আবেদন আরো তার নির্মাতাদের কাছে বোধগম্য করতে উপায়। কিছু কিছু ভাষায় একই ধারণা সাবরুটিনের বা পদ্ধতি বলা যায় না।
অ্যাপ্লিকেশন ফাংশন, প্রতিটি যা একটি পরিষ্কার সংজ্ঞায়িত উদ্দেশ্য এবং ইন্টারফেস আছে বিভক্ত করা হয়।
পদ্ধতি বিচ্ছেদ ধারণা একটি মডিউল নামক বস্তুর একটি বৃহত্তর গোষ্ঠী মধ্যে প্রসারিত করা যাবে, কিন্তু নীতি অনুরূপ: উপাদান যা নথির তালিকা বহন গোষ্ঠী।
কার্যকারিতা ও মডিউল বিচ্ছেদ - কাঠামোবদ্ধ প্রোগ্রামিং কোণে পাথর, যা কয়েক দশক ধরে যে পর্যন্ত না পিএলও ছিল দৃষ্টান্ত ভঙ্গি করুন।
কাঠামোবদ্ধ প্রোগ্রামিং সমস্যার
অ্যাপ্লিকেশন বৃহত্তর হয়ে, কাঠামোগত প্রোগ্রামিং গিয়ে অসুবিধার সম্মুখীন সূচনা করে। প্রকল্প অত্যন্ত জটিল হয়ে পড়ে। গ্রাফিক্স স্থানান্তরিত। এটা তোলে প্রোগ্রামারদের সংখ্যক জড়িত। জটিলতা উত্থিত হয়েছে। আপ শুটিং খরচ, সময়সূচি আরও স্থানান্তরিত করা হয়েছিল, এবং সেখানে পতন এসেছিল।
ব্যর্থতা কারণ বিশ্লেষণ ঘাটতি পদ্ধতিগত দৃষ্টান্ত প্রকাশ করেছিল। কত ভাল কাঠামোবদ্ধ বাস্তবায়িত প্রোগ্রামিং পদ্ধতির হোক না কেন, বড় অ্যাপ্লিকেশন মাত্রাতিরিক্ত জটিল হয়ে পড়ে।
পদ্ধতিগত ভাষার সঙ্গে যুক্ত এই সমস্যার কারণগুলো কী কী? প্রথমত, ফাংশন বিশ্বজনীন তথ্য সীমাহীন এক্সেস আছে। দ্বিতীয়ত, সম্পর্কহীন পদ্ধতি এবং খারাপ মান বাস্তব জগতে ভান।
আমরা যদি জায় অ্যাকাউন্টিং সফটওয়্যার প্রেক্ষাপটে এই বিষয়গুলো বিবেচনা, বিশ্বজনীন তথ্য সবচেয়ে গুরুত্বপূর্ণ উপাদান এক SKUs একটি সেট। বিভিন্ন ফাংশন একটি নতুন মান লিখুন তাদের পাঠাতে পারেন, এটা প্রদর্শিত হয়, পরিবর্তন এবং তাই। ডি
সীমাহীন অ্যাক্সেস
প্রোগ্রাম লিখিত, উদাহরণস্বরূপ, সি, ডাটা দুই ধরনের হয়। স্থানীয় ফাংশন মধ্যে লুকানো এবং অন্যান্য প্রক্রিয়ার ব্যবহার করা হয় না।
দুই বা ততোধিক ফাংশন একই ডেটাতে অ্যাক্সেস আছে, পরেরটির বিশ্বব্যাপী হতে হবে। এই ধরনের, উদাহরণস্বরূপ, বিষয় সম্পর্কে অ্যাকাউন্টের তথ্য নেয়া হয়। বিশ্বজনীন তথ্য কোনো উপলব্ধ পদ্ধতি হতে পারে।
বৃহৎ কর্মসূচি, সেখানে অনেক বৈশিষ্ট্য এবং অনেক বিশ্বব্যাপী উপাদান। পদ্ধতিগত দৃষ্টান্ত সমস্যা এটি তাদের মধ্যে সম্ভাব্য লিঙ্ক অধিক সংখ্যক বাড়ে হয়।
এই ধরনের সংযোগের সংখ্যক বিভিন্ন অসুবিধা ঘটায়। প্রথমত, এটা প্রোগ্রামের কাঠামো বোঝার complicates। দ্বিতীয়ত, কঠিন পরিবর্তন। বিশ্বজনীন তথ্য আইটেম পরিবর্তন সব ফাংশন এটি এক্সেস আছে সমন্বয়ন প্রয়োজন হতে পারে।
উদাহরণস্বরূপ, প্রোগ্রাম কেউ অ্যাকাউন্টিং সিদ্ধান্ত নেয় যে হিসাব অবজেক্ট কোড 5 ডিজিট না হওয়া উচিত, এবং 12. থেকে এই পরিবর্তন প্রয়োজন হবে ডাটা টাইপ সংক্ষিপ্ত থেকে দীর্ঘ। এখন যুক্ত সঙ্গে ফাংশন কোড নতুন ফর্ম্যাটে সঙ্গে কাজ করার পরিবর্তন করা আবশ্যক।
উপাদান একটি বৃহত্তর অ্যাপ্লিকেশনে পরিবর্তিত হয়, তখন তা কি পদ্ধতি সেগুলির অ্যাক্সেস দেওয়া বলতে কঠিন। কিন্তু এমন কি এই চিত্র যদি, পরিবর্তন তাদের অন্যান্য বিশ্বব্যাপী তথ্য দিয়ে ভুল অপারেশন হতে পারে। সবকিছু অন্য সব কিছুর সঙ্গে যুক্ত হয়, তাই এক জায়গায় পরিবর্তন অন্য বিপর্যয় ঘটা।
বাস্তব জগতে মডেলিং
পদ্ধতিগত দৃষ্টান্ত দ্বিতীয় এবং আরো গুরুত্বপূর্ণ সমস্যা হলো তার অবস্থান নির্দিষ্ট ডেটা এবং ফাংশন দুর্বল বাস্তব জগতে কিছু simulates হয়। এখানে আমরা এ ধরনের লোকদের বা কার যেমন বস্তুর সঙ্গে তার আচরণ করছে। তারা কোন ডেটা বা ফাংশন মত। কমপ্লেক্স বাস্তব জগতের বস্তু গুণাবলী এবং আচরণ আছে।
বৈশিষ্ট্যাবলী
ক্ষমতা ও দরজা নম্বর - বৈশিষ্ট্যাবলী (বৈশিষ্ট্য কখনও কখনও বলা হয়) মানুষের জন্য উদাহরণ চোখের রঙ এবং পোস্ট নাম, একটি গাড়ির জন্য। হিসাবে পরিণত হয়, বাস্তব জগতের বৈশিষ্ট্যাবলী প্রোগ্রামে ডেটাতে সমতুল্য। তারা নীল (চোখের রঙ) অথবা চার (দরজা সংখ্যা) হিসাবে নির্দিষ্ট মান, আছে।
আচরণ
আচরণ - যে বাস্তব বিশ্বের বস্তু প্রভাব কিছু প্রতিক্রিয়ায় উত্পাদিত হয়। আপনি বেতন বৃদ্ধির জন্য একটি মনিব জিজ্ঞাসা থাকলে, উত্তর "হ্যাঁ" বা "না।" আপনি ব্রেক উপর টিপলে গাড়ী বন্ধ করে দেব। আর উচ্চারণ আচরণে বাঁধন উদাহরণ। কার্যপ্রণালী অনুরূপ আচরণ: এটা কিছু করতে বলা হয়, এবং এটি তাই আছে। সুতরাং, তথ্য এবং নিজেরাই ফাংশন বাস্তব জগতের দক্ষতার বস্তু মডেল না।
সম্ভাষণ
গলি মধ্যে অবজেক্ট ডেটা এবং ফাংশন একটি সেট হিসাবে প্রতিনিধিত্ব করা হয়। শুধু পদ্ধতি যে সি ++ এ সদস্য ফাংশন বলা হয়, এর মান প্রাপ্ত করার অনুমতি দেয়। এই লুকানো এবং পরিবর্তন থেকে সুরক্ষিত। অর্থ এবং ফাংশন এক মধ্যে encapsulated হয়। Encapsulation এবং upryatyvanie - অবজেক্ট ওরিয়েন্টেড ভাষায় বর্ণনায় মৌলিক শর্তাবলী।
আপনি ডাটা পরিবর্তন করতে চান, এটা ঠিক কি জানেন ফাংশন তাদের সাথে কথাবার্তা বলতে পারেন। অন্য কোনো পদ্ধতি এগুলি অ্যাক্সেস করতে পারবে না। এই লেখা, ডিবাগিং, এবং প্রোগ্রাম বজায় রাখার সহজসাধ্য।
একটি অ্যাপ্লিকেশানের সাধারণত বিভিন্ন বস্তু যা একে অপরের সাথে যোগাযোগ, সদস্য ফাংশন ঘটাচ্ছে নিয়ে গঠিত।
আজ অধিকাংশ বহুল ব্যবহৃত ভাষা গলি (অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং) - সি ++ (প্লাস প্লাস)। জাভা ধরনের পয়েন্টার, টেমপ্লেট এবং একাধিক উত্তরাধিকার, যা এটি কম শক্তিশালী এবং সি ++ চেয়ে বহুমুখী তোলে যেমন কিছু বৈশিষ্ট্য অভাব আছে। সি শার্প এখনো সি ++ জনপ্রিয়তা না পৌঁছেছে।
এটা লক্ষনীয় যে এই ধরনের স্মলটক এর মত কিছু অন্য অবজেক্ট ওরিয়েন্টেড ভাষায় সি ++ নামক পদ্ধতিতে সদস্য ফাংশন তথাকথিত। তথ্য আইটেম বৈশিষ্ট্যাবলী ডাকতাম। বস্তুর একটি পদ্ধতি কল করা হচ্ছে তাকে বার্তা পাঠাচ্ছে।
উপমা
আপনি কোম্পানির বিভাগের অবজেক্ট কল্পনা করতে পারেন। সবচেয়ে প্রতিষ্ঠানে, কর্মচারী স্টাফ, নিম্নলিখিত overcharging বেতন, এবং তারপর একটি খুচরা বাণিজ্য নিযুক্ত সপ্তাহে একদিন কাজ করে না। প্রতিটি বিভাগের নিজস্ব স্টাফ, পরিষ্কারভাবে নিয়োগ দায়িত্ব রয়েছে। মজুরি, বিক্রয়, অ্যাকাউন্টিং স্টাফ, ইত্যাদি বিভাগের লোকেরা নিজেদের তথ্য দিয়ে কাজ করে ইন্ডিকেটর ... আছে: নিজের তথ্য আছে কোম্পানির বিভাগ, তাই তার অপারেশন নিয়ন্ত্রণ সমাধা এবং তথ্য অখণ্ডতা বজায় রাখে। অ্যাকাউন্টিং জন্য দায়ী মাইনে। আপনি জুলাইয়ে দক্ষিণ শাখা প্রদান করা মজুরি মোট পরিমাণ জানতে চাইলে, সংরক্ষণাগার মধ্যে উপত্যকা প্রয়োজন হবে না। এটা দায়ী ব্যক্তিকে একটি নোট পাঠাতে পর্যন্ত অপেক্ষা যে ব্যক্তি ডেটাতে অ্যাক্সেস এবং অনুরোধ করা তথ্য প্রতিক্রিয়ায় পাঠায় যথেষ্ট। এটি এবং প্রবিধান মেনে বহিরাগত হস্তক্ষেপ অভাবে নিশ্চিত করে। একই ভাবে পিএলও মধ্যে একটি বস্তুর সংগঠন আবেদন প্রদান করে।
এটা মনে রাখা উচিত যে বস্তু সজ্জার কাজ কর্মসূচির বিবরণ এতে প্রযোজ্য নয়। সর্বাধিক নির্দেশাবলী সি অপারেটার ++ আসলে এই ধরনের সি হিসাবে পদ্ধতিগত ভাষায় অনুরূপ, সি সদস্য ফাংশন ++, সি ফাংশন একই রকম শুধু বৃহত্তর প্রেক্ষাপটে স্থাপন করা হবে কিনা তা নির্দেশ পদ্ধতিগত বা অবজেক্ট ওরিয়েন্টেড অনুমতি দেবে।
গলি মধ্যে বস্তু: সংজ্ঞা
যখন পরিবর্তে পৃথক ফাংশন মধ্যে নিজের বিভাজন সম্পর্কে প্রশ্ন অবজেক্ট ওরিয়েন্টেড ভাষায় প্রোগ্রামিং সমস্যা বিবেচনায় বিচ্ছেদ সুবিধার মধ্যে একটি সমস্যা। গলি চিন্তা অনেক অ্যাপ্লিকেশন বিকাশ সহজ। এই সফ্টওয়্যার এবং বাস্তব বস্তুর সাদৃশ্য জন্য হয়েছে।
কি ধরনের জিনিস গলি বস্তু কি? এখানে কিছু টিপিক্যাল বিভাগ নেই।
গলি শারীরিক বস্তুর - হল:
- পরিবহন প্রবাহ মডেল;
- সার্কিট ডিজাইন প্রোগ্রাম বৈদ্যুতিক উপাদান;
- দেশের অর্থনীতি মডেল;
- এয়ার ট্রাফিক নিয়ন্ত্রণ সিস্টেমের মধ্যে বিমান।
পরিবেশ ব্যবহারকারীর কম্পিউটারে উপাদানসমূহ:
- মেনু;
- জানালা;
- গ্রাফিক্স (লাইন, আয়তক্ষেত্র, বৃত্ত);
- কীবোর্ড, মাউস, প্রিন্টার, ডিস্ক ড্রাইভ।
লোক:
- শ্রমিকদের;
- ছাত্র;
- গ্রাহকদের;
- বিক্রেতাদের।
তথ্য:
- বই পালন;
- একটি ব্যক্তিগত ব্যাপার;
- অভিধান;
- অক্ষাংশ এবং জনবসতি দ্রাঘিমাংশ এর টেবিল।
বাস্তব জগতের কমিউনিকেশন বস্তু এবং পিএলও ফাংশন এবং ডাটা তারা প্রোগ্রামিং বৈপ্লবিক আছে সংমিশ্রণ ফল। এই ধরনের সেখানে পদ্ধতিগত ভাষায় ঘনিষ্ঠ ম্যাচ।
শ্রেণী
একটি বর্গ সদস্য - পিএলও মধ্যে অবজেক্টস। এটা এর অর্থ কি? প্রোগ্রামিং ভাষা বিল্ট-ইন আছে ধরনের তথ্য। প্রকার int- এ, টি। ই একটি পূর্ণসংখ্যা যে সি পূর্ব নির্ধারিত হয় ++,। আপনি int- এ ভেরিয়েবল যে কোন সংখ্যার ঘোষণা করতে পারেন।
একইভাবে, অবজেক্টের একটি বহুবচন এক বর্গ দ্বারা সংজ্ঞায়িত। এটা তোলে ফাংশন এবং ডাটা তার সুবিধার অন্তর্ভুক্ত, তাদের তৈরি করছে না, সেইসাথে কোন int ভেরিয়েবল তৈরি করে না সংজ্ঞায়িত করে।
পিএলও মধ্যে Class - অনুরূপ বস্তু একটি নম্বর একটি বিবরণ। প্রিন্স, স্টিং এবং ম্যাডোনা গায়ক আছে। এখানে ঐ নামের দ্বারা কেউ নেই, কিন্তু মানুষ এত বলা যেতে পারে, তারা উপযুক্ত বৈশিষ্ট্য থাকে পারেন। গলি বস্তুর - এই দৃষ্টান্ত।
উত্তরাধিকার
জীবনে, ক্লাস উপশ্রেণী বিভক্ত। উদাহরণস্বরূপ, পশুদের উভচর, স্তন্যপায়ী, পাখি, কীটপতঙ্গ মধ্যে এবং তাই ভাগ করা হয়। ডি
বিভাগের এই ধরনের নীতি প্রতিটি উপশ্রেণী ক্লাস থেকে যা দিয়ে সাধারণ বৈশিষ্ট্য আছে। সকল গাড়ি চাকার এবং একটি মোটর আছে। এই যানবাহন নির্ধারক বৈশিষ্টগুলো হয়। প্রতিটি উপশ্রেণী সাধারণ বৈশিষ্ট্য ছাড়াও তার নিজস্ব বৈশিষ্ট্য আছে। অনেক বাস আসন আছে ও ট্রাক ভারী লোড বহন করতে স্থান আছে।
একইভাবে, একটি বেস বর্গ একটি উপশ্রেণী পিতা বা মাতা বিভিন্ন ডেরাইভেটিভস যা সংজ্ঞায়িত করা যেতে পারে, যাতে তারা যোগে তার নিজস্ব বৈশিষ্ট্য ভাগ করবে হতে পারে। ফাংশন, পদ্ধতিগত প্রোগ্রাম সরল মত উত্তরাধিকার। কোডের বিভিন্ন অংশের একই কাজ হয় প্রায় কাছাকাছি, আপনি সাধারণ উপাদান বের করে এবং তাদের এক পদ্ধতির মধ্যে লাগাতে পারেন। তিন আবেদন এলাকা সাধারণ ক্রিয়া সম্পাদনের জন্য ফাংশন কল করতে পারেন, কিন্তু তারা যা উৎপাদন এবং তার নিজস্ব অপারেশন পারবেন না। একইভাবে, বেস ক্লাসের তথ্য ডেরাইভেটিভস গোষ্ঠীর সাধারণ ধারণ করে। অনুরূপ একটি ফাংশন অবজেক্ট ওরিয়েন্টেড প্রোগ্রাম উত্তরাধিকার হ্রাস করে এবং তার উপাদানের সম্পর্ক নির্মল।
পুনর্ব্যবহার
একবার ক্লাসে তৈরি করেছেন এবং debugged হয়, এটি আপনার নিজের অ্যাপ্লিকেশন পুনরায় ব্যবহার করার জন্য অন্যান্য প্রোগ্রামারদের স্থানান্তর করা যেতে পারে। এটা তোলে ফাংশন একটি লাইব্রেরি যে বিভিন্ন অ্যাপ্লিকেশনের মধ্যে অন্তর্ভুক্ত করা যেতে পারে মত।
গলি সালে উত্তরাধিকার একাধিক ব্যবহারের ধারণা একজন এক্সটেনশান। একটি বিদ্যমান বর্গ থেকে, এটা পরিবর্তন না করে, আমরা অন্য ফাংশন যোগে একটি নতুন এক গঠন করতে পারেন। বিদ্যমান সফ্টওয়্যার পুনরায় ব্যবহারের স্বাচ্ছন্দ - পিএলও একটি গুরুত্বপূর্ণ সুবিধা। এটা বিশ্বাস এটা প্রাথমিক বিনিয়োগ বৃদ্ধি মুনাফা প্রদান করে থাকে।
নতুন ধরনের তথ্য তৈরি করা হচ্ছে
নতুন ধরনের তথ্য সৃষ্টির জন্য উপযুক্ত সুবিধা। ধরুন একটি প্রোগ্রাম দ্বি-মাত্রিক মান ব্যবহার (যেমন স্থানাঙ্ক বা অক্ষাংশ ও দ্রাঘিমাংশ), এবং তাদের উপর গাণিতিক কর্ম প্রকাশ করার আকাঙ্ক্ষা আছে:
position1 = অবস্থানে + + উৎপত্তি,
যেখানে position1, অবস্থান এবং উৎপত্তি - স্বাধীন সংখ্যাসূচক মান একজোড়া। একটি বর্গ যে এই দুই মান অন্তর্ভুক্ত, এবং তার অবজেক্টের পরিবর্তনশীল ঘোষণা তৈরি করা হচ্ছে একটি নতুন ডাটা টাইপ তৈরি করে।
পলিমরফিজ্ম, ওভারলোডিং
অপারেটর = (সমান), এবং + (প্লাস) গাণিতিক ব্যবহৃত অবস্থানগত উপরে পাশাপাশি কাজ না একটি বিল্ট-ইন যেমন কোন int হিসাবে ধরনের। অবস্থান বস্তু, এবং অন্যদের। পূর্ব নির্ধারিত এবং সফটওয়্যার দ্বারা সেট করা হয় না। কীভাবে এই অপারেটার কিভাবে জানি তাদের হ্যান্ডেল করবেন? উত্তর আসলে নতুন আচরণে তাদের জন্য নির্ধারণ করা যাবে যে ব্যবস্থার সবচেয়ে গুরত্বপূর্ণ। এই অপারেশন সদস্য ফাংশন ক্লাস অবস্থান হবে।
তারা কি কাজ করছে পলিমরফিজম বলা হয় উপর নির্ভর করে অপারেটরদের বা পদ্ধতি ব্যবহার করা হচ্ছে। যখন একটি অপারেটর যেমন + অথবা =, নতুন ডাটা টাইপ সঙ্গে কাজ করার সুযোগ পায় আছে, এটা বলে এটি ওভারলোড করা হয়। পিএলও মধ্যে ওভারলোড - পলিমরফিজম এক ধরনের। এটা তার গুরুত্বপূর্ণ বৈশিষ্ট্য।
পিএলও "নকলগুলির জন্য অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং" এ পুস্তক সবাই আরো বিস্তারিত এই বিষয়ের সাথে পরিচিত পেতে অনুমতি দেবে।
Similar articles
Trending Now