Impure Method in Java

Rumman Ansari   Software Engineer   2024-07-25 07:51:51   139  Share
Subject Syllabus DetailsSubject Details
☰ TContent
☰Fullscreen

Impure Method

An impure method is one that does not adhere to the principles of purity. It might:

  1. Have Side Effects: It can modify external state or variables, such as changing class-level variables, performing I/O operations, or modifying static variables.

  2. Non-Deterministic: The method's output can vary even with the same input values, depending on external factors or states.

  3. Depend on External State: It may rely on or interact with external variables, class-level state, or other methods.

Example:

<span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">class</span><span class="pln"> </span><span class="typ">Counter</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">private</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> count </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">

    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> increment</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        count</span><span class="pun">++;</span><span class="pln"> </span><span class="com">// Modifies the state of the object</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> getCount</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> count</span><span class="pun">;</span><span class="pln"> </span><span class="com">// Depends on the internal state</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span>
  • Side Effects: The increment method modifies the internal state of the Counter object.
  • Non-Deterministic: The output of getCount depends on the history of calls to increment.
  • Dependence on External State: The behavior relies on the internal state of the object.
MCQ Available

There are 1 MCQs available for this topic.

1 MCQ

No Questions Data Available.
No Program Data.

Stay Ahead of the Curve! Check out these trending topics and sharpen your skills.