<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Final and Abstract in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/final-and-abstract/m-p/8469934#M1651200</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi experts,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I just got to know, we can make a class abstract as well as final, but i din't get to know in which situation we use this.&lt;/P&gt;&lt;P&gt;As final class cannot be inherited and abstract class cannot have an instance of its own and has to be inherited.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So please guide me if this is really necessary and if so when ??&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 17 Jan 2012 12:14:07 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2012-01-17T12:14:07Z</dc:date>
    <item>
      <title>Final and Abstract</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/final-and-abstract/m-p/8469934#M1651200</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi experts,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I just got to know, we can make a class abstract as well as final, but i din't get to know in which situation we use this.&lt;/P&gt;&lt;P&gt;As final class cannot be inherited and abstract class cannot have an instance of its own and has to be inherited.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So please guide me if this is really necessary and if so when ??&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jan 2012 12:14:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/final-and-abstract/m-p/8469934#M1651200</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2012-01-17T12:14:07Z</dc:date>
    </item>
    <item>
      <title>Re: Final and Abstract</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/final-and-abstract/m-p/8469935#M1651201</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;When you need a class with only static components you can make it both abstract and final. as you do not need to instantiate the class for using static components.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jan 2012 12:22:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/final-and-abstract/m-p/8469935#M1651201</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2012-01-17T12:22:39Z</dc:date>
    </item>
    <item>
      <title>Re: Final and Abstract</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/final-and-abstract/m-p/8469936#M1651202</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'abstract' and 'final' concern different class attributes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You define class as Final, when You do not want others to extend Your class.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good example is ZCL_MATH with SUM(x,y) method. Class ZCL_MATH should be final.&lt;/P&gt;&lt;P&gt;Otherwise You could create ZCL_MATH_2 class (inheriting from ZCL_MATH),&lt;/P&gt;&lt;P&gt;and change SUM(x,y) method. Class ZCL_MATH_2 can be used everywhere,&lt;/P&gt;&lt;P&gt;where ZCL_MATH is required and change the result of addition!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Abstract classes are like template - You can create other classes based on the abstract class &lt;/P&gt;&lt;P&gt;and provide special functions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;An example: abstract class ZCL_VEHICLE (with attributes like name, owner, medhods GET_MAX_SPEED, etc.) can not be instanciated, but subclasses ZCL_CAR, ZCL_BIKE, ZCL_BUS can be. They represent physical object.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&lt;/P&gt;&lt;P&gt;Przemysław&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jan 2012 12:48:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/final-and-abstract/m-p/8469936#M1651202</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2012-01-17T12:48:59Z</dc:date>
    </item>
    <item>
      <title>Re: Final and Abstract</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/final-and-abstract/m-p/8469937#M1651203</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please refer the below link:-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="884454"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this will help you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Aabha&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Jan 2012 06:42:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/final-and-abstract/m-p/8469937#M1651203</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2012-01-18T06:42:46Z</dc:date>
    </item>
    <item>
      <title>Re: Final and Abstract</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/final-and-abstract/m-p/8469938#M1651204</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When you define a class and you don't want to inherit any child class from that class you will make it &lt;STRONG&gt;FINAL.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;When you define a class and it's method's implementation is not done in the same class but is done in the inherited class(childclass) you will make the class as &lt;STRONG&gt;ABSTRACT.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;example for &lt;STRONG&gt;ABSTRACT.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;you define a class object and include a method called draw object and you won't implement it here.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;now you make subclasses of this class( like circle, square, triangle etc.)  and implement your code here for drawing that object. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps a little in understanding &lt;STRONG&gt;ABSTRACT&lt;/STRONG&gt; and &lt;STRONG&gt;FINAL.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;P&gt;Aswath.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Jan 2012 07:39:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/final-and-abstract/m-p/8469938#M1651204</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2012-01-18T07:39:46Z</dc:date>
    </item>
    <item>
      <title>Re: Final and Abstract</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/final-and-abstract/m-p/8469939#M1651205</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Suresh,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I came across this concept of having a class ABSTRACT and FINAL at the same time even I was bit surprised. Because abstract and final are totally opposite in terms of functionality as a ABSTRACT and FINAL class caanot be instantiated and at the same time it would not be inherited by any other sub class as it is a final. The only use which remains here is to use static attributes/methods of the class that too should be declared in public section. In other terms those static methods/attributesare  just another piece of code which you can access in your program. Apart from this you cannot do anything with that class. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I dont know in which situation it would be useful as this particular thing is quite similar to some procedural language technique of having a INCLUDE program with subroutines and some global variables. May be you have to make use of this when you are not at all allowed to use any subroutines in your program.....only classes and methods. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Manish.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Manuish on Jan 20, 2012 6:12 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jan 2012 12:42:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/final-and-abstract/m-p/8469939#M1651205</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2012-01-20T12:42:26Z</dc:date>
    </item>
    <item>
      <title>Re: Final and Abstract</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/final-and-abstract/m-p/8469940#M1651206</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Abstract class.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;An abstract class is used when we want to model an object, the final state of which is not known at the time of modelling and will be known later.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Final Class.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you don't want anyone else to change or override the functionality of your class then you can define it as final. Thus no one can inherit and modify the features of this class.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jan 2012 12:23:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/final-and-abstract/m-p/8469940#M1651206</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2012-01-24T12:23:44Z</dc:date>
    </item>
    <item>
      <title>Re: Final and Abstract</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/final-and-abstract/m-p/8469941#M1651207</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;  ABSTRACT  classes are those in which can't be instantiated  and it contains both abstract and non abstract methods .&lt;/P&gt;&lt;P&gt;if we declare the class as abstract then the class should be inherited and we have to implement all the abstract methods of abstract class otherwise that class also should be declared as abstract . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FINAL means the class should not be inherited if we declare the class as final then the class should not be inherited.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so abstract classes can't be final. if we declare the abstract class as final that is meaningless.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Jan 2012 05:01:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/final-and-abstract/m-p/8469941#M1651207</guid>
      <dc:creator>former_member226225</dc:creator>
      <dc:date>2012-01-25T05:01:02Z</dc:date>
    </item>
  </channel>
</rss>

