আমরা কী বলতে পারি যে বস্তুর বৈশিষ্ট্য, অবস্থা এবং আচরণ রয়েছে?


16

আমি ওরাকলের ওওপি ধারণাগুলির সাথে পরিচয় করছিলাম এবং আমি এই বিবরণটি পেলাম:

রিয়েল-ওয়ার্ল্ড অবজেক্ট দুটি বৈশিষ্ট্য ভাগ করে: তাদের সমস্তেরই অবস্থা এবং আচরণ রয়েছে। কুকুরের রাজ্য (নাম, রঙ, জাত, ক্ষুধার্ত) এবং আচরণ (দোলা, আনা, লেজ লেজানো) থাকে। সফ্টওয়্যার অবজেক্টগুলি ধারণাগতভাবে রিয়েল-ওয়ার্ল্ড অবজেক্টগুলির সাথে সমান: এগুলিতেও রাষ্ট্র এবং সম্পর্কিত আচরণ থাকে।

এই উত্তরণটির সাথে আমার সমস্যাটি হ'ল রাষ্ট্রটির বর্ণনা দেওয়ার সময় এর মিশ্রণ বৈশিষ্ট্যগুলিও খুব ভাল। উদাহরণস্বরূপ, একটি কুকুরের নাম এবং রঙ এর বৈশিষ্ট্য, যখন এটি ক্ষুধার্ত বা তীব্র হচ্ছে তার রাজ্য।

সুতরাং আমার মতে বস্তুর বৈশিষ্ট্যগুলি তিন ভাগে বিভক্ত করা আরও সঠিক: বৈশিষ্ট্য, অবস্থা এবং আচরণ

অবশ্যই, এটি একটি প্রোগ্রামিং ভাষায় অনুবাদ করার সময় আমি দেখতে পাচ্ছি যে ত্রি-ভাজী পার্টিশন দ্বিগুণ হয়ে যায়, কারণ বৈশিষ্ট্য এবং রাজ্য উভয়ই ক্ষেত্র / ভেরিয়েবলগুলিতে সংরক্ষণ করা হবে, তবে আচরণগুলি পদ্ধতি / ফাংশনে সংরক্ষণ করা হবে store

তবে ধারণাগতভাবে বললে এটি 3 টি পৃথক করে রাখা আরও বোধগম্য হয়।

এখানে আরও একটি উদাহরণ: একটি বাতি বিবেচনা করুন। প্রদীপের আকার এবং এটি চালু আছে কি না তা উভয়ই আমার মতে এক প্রকারের বক্তব্য। প্রদীপের আকার একটি বৈশিষ্ট্য, কোনও রাজ্য নয়, যখন এটি চালু বা বন্ধ করা হয় একটি রাষ্ট্র।

নাকি আমি কিছু মিস করেছি?


4
ইয়াপ, আচরণ অনুকরণ করার কৌশল হিসাবে আপনি বৈশিষ্টগুলি হারিয়েছেন।
ইয়ান্নিস

এই পোস্টটি একবার দেখুন, এটি সাহায্য করতে পারে: yegor256.com/2014/12/09/…
yegor256

উত্তর:


13

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

এই তিন ভাগের সংজ্ঞাটি প্রকৃতপক্ষে প্রোগ্রামিং ভাষাগুলিতে উপস্থাপিত হয়, উদাহরণস্বরূপ finalজাভাতে মূল readonlyশব্দ বা সি # তে কীওয়ার্ড ব্যবহার করে উদাহরণের ডেটা বোঝাতে যা উদাহরণস্বরূপ সারা জীবন জুড়ে না।

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


এটিকে দৃষ্টান্ত পরিবর্তন করার পরিবর্তিত ও পরিবর্তিত বৈশিষ্ট্যের শর্তাবলী বিবেচনা করে বোঝা যায়। এবং আমি আনন্দিত যে আমি খুব বেশি দূরে ছিলাম না। ধন্যবাদ!
ড্যানিয়েল স্কোকো

কোনও উত্পাদন বা সমাবেশ প্রক্রিয়া চলাকালীন প্রদীপের আকারটি কি একটি রাষ্ট্র হতে চলেছে?
JeffO

না, এটি একটি বৈশিষ্ট্য হতে চলেছে। (শব্দের
ওপিতে

4
রাষ্ট্র এবং গুণাবলীর মধ্যে কোনও মৌলিক পার্থক্য নেই তাই রাজ্যকে সম্ভবত পরিবর্তনীয় বা অপরিবর্তনীয় হিসাবে সংজ্ঞায়িত করা সহজ। (অপরিবর্তনীয়) বৈশিষ্ট্য এবং (পরিবর্তনযোগ্য) অবস্থা থাকা সত্ত্বেও ভুল (এবং অনেক অর্থে সমতুল্য) নয়, তবে এই পার্থক্য সংজ্ঞাটিকে প্রয়োজনীয়তার চেয়ে জটিল করে তোলে। যদিও আইএমও "রাষ্ট্র" শব্দটি সম্ভবত "রাষ্ট্র" থেকে ধারণাটি বর্ণনা করার জন্য সেরা শব্দ নয় তবে কোনওভাবে বোঝা যাচ্ছে যে এটির পরিবর্তনের কথা রয়েছে, যখন "ওরাকল" এর নিবন্ধে বর্ণিত "রাষ্ট্র" - তেমন নেই।
মিথ্যা রায়ান

আমি মনে করি যে বছরগুলি যেতে যেতে অচলতার প্রতি মানুষের অবস্থান বদলে যাচ্ছে; যারা এর গুরুত্ব বোঝেন তাদের পক্ষে পরিবর্তনীয় এবং পরিবর্তনীয় রাষ্ট্রের মধ্যে একটি মৌলিক পার্থক্য রয়েছে, এটি একটি পৃথক নামের পরোয়ানা পাওয়ার পক্ষে যথেষ্ট। আমি কি খুব আকর্ষণীয় পড়ার সুপারিশ করতে পারি? এরিক লিপার্ট - কোডে চমত্কার অ্যাডভেঞ্চারস - সি # পার্ট একের মধ্যে অপরিবর্তনীয়তা: অপরিবর্তনের
ধরণগুলি

4

আমি মনে করি এটি বলার চেয়ে আরও সঠিকভাবে অবজেক্টের দুটি বৈশিষ্ট্য রয়েছে। ওরাকল এর উদাহরণ গ্রহণ:

কুকুরের রাজ্য (নাম, রঙ, জাত, ক্ষুধার্ত) এবং আচরণ (দোলা, আনা, লেজ লেজানো) থাকে। সফ্টওয়্যার অবজেক্টগুলি ধারণাগতভাবে রিয়েল-ওয়ার্ল্ড অবজেক্টগুলির সাথে সমান: এগুলিতেও রাষ্ট্র এবং সম্পর্কিত আচরণ থাকে।

নাম, রঙ, জাত এবং ক্ষুধার্তের জন্য মানগুলি (রাষ্ট্র) বৈশিষ্ট্যে অবজেক্টে সংরক্ষণ করা হয় তা বাস্তবায়ন বিশদ। আপনার সত্যিকারের কোনও বৈশিষ্ট্যের দরকার নেই।

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


শীতকালে পরিবর্তনের কারণে শিয়ালের পশমের রঙ কি রাজ্যে পরিণত হয়?
JeffO

পুরানো, ভেজা, রঙ্গিন ... কোনও কারণ হয়ে গেলে @ জেফো ফুরের রঙও পরিবর্তিত হতে পারে। এটি সত্যিকার অর্থে কোনও রাষ্ট্রের কারণ এটি কোনও এক বস্তুর জীবনকালে পরিবর্তিত হতে পারে, তবে একই ধরণের বিভিন্ন বস্তুর সেই বৈশিষ্ট্যের জন্য বিভিন্ন মান থাকতে পারে।
টিকটিকি

1

রাজ্যটি বৈশিষ্ট্য এবং সম্পর্কিত মানগুলির সেট, সুতরাং আমার দৃষ্টিকোণ থেকে আপনি ঠিক নন (এবং আপনি সাধারণ সংজ্ঞাতে অপ্রয়োজনীয় অতিরিক্ত জটিলতা তৈরি করছেন)।


0

আমরা জিনিসগুলিকে অসংখ্য উপায়ে শ্রেণিবদ্ধ করতে পারি এবং প্রতিটি শ্রেণিবিন্যাসের কোনও "সঠিক উত্তর" থাকবে না। শ্রেণিবদ্ধকরণ কিছু গভীর বোঝার দিকে পরিচালিত করে বা যোগাযোগের উন্নতি করতে পারে তবেই জিনিসগুলিকে শ্রেণিবদ্ধ করার সুবিধা রয়েছে। যদি আপনার দল শর্তাবলী, রাজ্য এবং ফাংশনগুলি ব্যবহার করতে পছন্দ করে এবং এর জন্য কার্যকারী সংজ্ঞা রয়েছে তবে এটি অভ্যন্তরীণ যোগাযোগের উন্নতি করতে সহায়তা করবে তবে এই দলের বাইরে যোগাযোগ করার সময় আপনার নমনীয় হওয়া দরকার।

"ক্ষুধার্ত" এবং "তৃষ্ণার্ত" ধারণাগুলি মৌলিক গুণাবলী থেকে উদ্ভূত হতে পারে (যেমন রক্তের গ্লুকোজ, হাইড্রেশন স্তর) তাই আমরা রাষ্ট্রকে এমন মেটা-অ্যাট্রিবিউট হিসাবে ভাবতে পারি যা বেস বৈশিষ্ট্যগুলি থেকে উদ্ভূত হয় যা আমরা সত্য বা মিথ্যা ভিত্তিতে চক্র করতে পারি on প্রাসঙ্গিক বেস বৈশিষ্ট্যগুলির অবস্থা। হালকা উদাহরণের জন্য, আমরা আলোকে বৈশিষ্ট্যগুলি applied_voltageএবং resistanceফাংশনগুলি voltage_switch()এবং হিসাবে হিসাবে ভাবতে পারি shine()voltage_swich()তারপর কিছু ইনপুট (যেমন ম্যানুয়াল সুইচ, আলো, টাইমার, ইত্যাদি) একটি ফাংশন এবং shine()একটি ফাংশন applied_voltageএবং resistancelight_stateমানসিকভাবে বস্তুটি তৈরিতে সহায়তার জন্য আমরা সত্য বা মিথ্যা নামে পরিচিত এমন একটি মেটা-গুণাবলী ঘোষণা করতে পারি , তবে শেষ পর্যন্ত এই ধারণাগুলি হ'ল কেবলমাত্র মানসিক গঠন যা আমরা আমাদের কাজটি সংগঠিত করতে ব্যবহার করি।


-2

কোনও অবজেক্টের অবস্থা প্রত্যক্ষ বা অপ্রত্যক্ষভাবে তার বৈশিষ্ট্যগুলিতে এনকোড থাকে। উদাহরণস্বরূপ, আপনি যদি চান আপনার কুকুরটি তৃষ্ণার্ত হয়ে উঠতে পারে তবে আপনি এটির একটিটি দিতে পারেন

private boolean thirsty;

বিকল্পভাবে, আপনি এটি কিছু থাকতে দিতে পারেন

private Date lastDrinkAt;

এবং আপনার কুকুরটির উদাহরণটি বর্তমান সময়ের সাথে গতবার কিছুটা পান করার সময়ের সাথে তুলনা করে তৃষ্ণার্ত কিনা তা উপসংহারে পৌঁছে।

যেভাবেই হোক না কেন, আপনার বস্তুর অবস্থা তার বৈশিষ্ট্যের মধ্যে রয়েছে।

তারপরে এমন কিছু ক্লাস রয়েছে যার বৈশিষ্ট্য নেই, বেশিরভাগ ইউটিলিটি ক্লাস। তবে আপনি সাধারণত এ ক্ষেত্রে তাদের কোনও উদাহরণ তৈরি করতে চান না।

বক্তব্যগুলি সম্পর্কে যুক্তিযুক্ত হওয়ার পক্ষে, বিজ্ঞানীরা সাধারণত ন্যূনতমতার নীতির প্রতি দৃ .় থাকেন। আমি মনে করি সে কারণেই ওরাকল রাষ্ট্রের স্পষ্টভাবে উল্লেখ করেনি। এটি গুণকের মান থেকে উদ্ভূত হতে পারে।


1
ওরাকল করেনি উল্লেখ রাষ্ট্র স্পষ্টভাবে; উদ্ধৃতি পড়ুন। এবং ওপি স্পষ্টতই কোনও বস্তুর পরিবর্তিত বৈশিষ্ট্যগুলির অর্থে বৈশিষ্ট্যগুলি শব্দটি ব্যবহার করছে , তাই তিনি তাদের রাষ্ট্রের সাথে বিভ্রান্ত করছেন না।
মাইক নাকিস

এগুলি এখনও বৈশিষ্ট্য - তারা পরিবর্তন করছে কিনা, আপনি তাদের "বৈশিষ্ট্য" বা "সদস্য" বলছেন কিনা। প্রোগ্রামিং জগতে এর বৈশিষ্ট্যগুলি ছাড়াও কোনও বস্তুর অবস্থার প্রতিনিধিত্ব করার মতো আর কিছুই নেই।
রাকু

-3

বাস্তব-বিশ্বের সংযোগগুলি বিপথগামী। এখানে আমি এটি কীভাবে শিখিয়ে দেব (সি ++ অ্যাপ্রোচ):

  1. কম্পিউটার দুটি পৃথক স্টোরেজ ফর্ম্যাট সমর্থন করে: ডেটা এবং কোড
  2. বিট 010101010101 এর মতো দেখায়
  3. কোড asm নির্দেশাবলী মত দেখাচ্ছে
  4. ডেটা বিটের দুটি আলাদা মান রয়েছে, এটি 0 বা 1 হয়
  5. ডেটা ডেটা প্রকারভেদে বিমুক্ত করা হয়: int i = 1; কিছু বিট 0000001 এ কেবল সংক্ষিপ্ত স্বরলিপি
  6. কোডটি কোনও ফাংশনের মতো দেখাবে: int f (int a) {ফেরত a + a + a; as কিছু asm নির্দেশাবলীর জন্য সংক্ষিপ্ত স্বরলিপি
  7. যখন আপনার বেশ কয়েকটি ভেরিয়েবল থাকে, আপনি এগুলি একটি স্ট্রাক্টের সাথে সংযুক্ত করে: int ক; ভাসা খ; একটি স্ট্রাক্ট AB {int এ স্থাপন করা যেতে পারে; ভাসা খ; };
  8. আপনি যখন এতে কিছু কোড টুকরা একত্রিত করেন, আপনি একটি ক্লাস পাবেন: শ্রেণি ABF {int a; ভাসা খ; ফ্লোট সমষ্টি (ফ্লোট সি) কনস্ট {a + বি + সি ফেরত; }};
  9. তারপরে তথ্যের জন্য আমাদের ভেরিয়েবলের নাম রয়েছে যা মানটি সনাক্ত করতে ব্যবহার করা যেতে পারে: ডেটা অ্যাক্সেস করতে a + b + c।
  10. এবং তারপরে আমাদের কাছে সাধারণ ফাংশন কল রয়েছে: int k = f (10); as- র নির্দেশাবলী "সঞ্চিত" এফ-ফাংশনের ভিতরে অ্যাক্সেস করতে to
  11. তারপরে বস্তুর উদাহরণ রয়েছে: এবিফ ভার;
  12. এবং সদস্য ফাংশন কল করে: int k2 = var.sum (10.0);
  13. ফাংশনগুলির int f (int) প্রকার রয়েছে;
  14. সদস্য ফাংশনগুলিতে int ABF :: যোগফল (ভাসা) থাকে;
  15. ABF * টাইপ সহ এই পয়েন্টারটি রয়েছে
  16. a এবং b এবং c এর মতো ভেরিয়েবলগুলি প্রসঙ্গ নির্ভর, যদি তারা সদস্য ফাংশনের অভ্যন্তরে থাকে তবে তারা এর অর্থ-> বি বা কেবল খ হতে পারে।
  17. সদস্য ফাংশন int ABf :: যোগফল (ভাসমান গ) এর যোগফলের জন্য সংক্ষিপ্ত স্বরলিপি (এবিএফ * এটি, ফ্লোট সি);
  18. "রাষ্ট্র" শব্দের অর্থ কেবলমাত্র ডেটার মতোই
  19. "আচরণ" শব্দের অর্থ কোডের সমান
  20. "অ্যাট্রিবিউট" শব্দের অর্থ হ'ল ডেটার সমান।

সুতরাং রাষ্ট্র এবং গুণাবলী মধ্যে সত্যিই আলাদা কিছু নেই। এটি বিটগুলির এলোমেলো সংগ্রহ। এগুলিকে আলাদা করার জন্য এটি স্বেচ্ছাচারী পার্থক্য। এটির নাম কী তা কেবল জানতে হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.