What is the difference between functionality and implementation details in abstraction? [on hold]Abstraction...

Can I legally make a website about boycotting a certain company?

Discouraging missile alpha strikes

Do error bars on probabilities have any meaning?

Why didn't Lorentz conclude that no object can go faster than light?

What does an unprocessed RAW file look like?

How can I portray body horror and still be sensitive to people with disabilities?

Why do some musicians make such weird faces when they play?

Why is the meaning of kanji 閑 "leisure"?

Does an intelligent undead have a soul in 5e D&D?

Can you wish for more wishes from an Efreeti bound to service via an Efreeti Bottle?

How bad is a Computer Science course that doesn't teach Design Patterns?

The Late Queen Gives in to Remorse - Reverse Hangman

Arizona laws regarding ownership of ground glassware for chemistry usage

How can I make my enemies feel real and make combat more engaging?

Why is Bernie Sanders maximum accepted donation on actblue $5600?

Coworker is trying to get me to sign his petition to run for office. How to decline politely?

How do I handle a blinded enemy which wants to attack someone it's sure is there?

Is Screenshot Time-tracking Common?

Which was the first story to feature space elevators?

Why don't reads from /dev/zero count as I/O?

The Longest Chess Game

Is layered encryption more secure than long passwords?

put country dropdown in phtml file in magento2

Identical projects by students at two different colleges: still plagiarism?



What is the difference between functionality and implementation details in abstraction? [on hold]


Abstraction VS Information Hiding VS EncapsulationHow does abstraction helps in hiding the implementation details in Java?Differences between HashMap and Hashtable?What is the difference between @staticmethod and @classmethod?What's the difference between a method and a function?What is the difference between public, protected, package-private and private in Java?What is the difference between an abstract function and a virtual function?Understanding Python super() with __init__() methodsInterface vs Abstract Class (general OO)What is the difference between an interface and abstract class?What is a JavaBean exactly?How should I have explained the difference between an Interface and an Abstract class?













6















I'm learning about OOP and Java, and the definition of Abstraction is the process of hiding the implementation details from the user, only the functionality will be provided to the user.



Can someone explain me what is the difference between functionality and implementation details?










share|improve this question













put on hold as too broad by Stultuske, Lino, Nicholas K, BIBIN K ONANKUNJU, U9-Forward 6 mins ago


Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.



















  • Possible duplicate of How does abstraction helps in hiding the implementation details in Java?

    – Lino
    2 hours ago











  • Maybe even better dupe: stackoverflow.com/questions/24626/…

    – Lino
    2 hours ago











  • Don't think too much about these definitions. "abstraction", "details" and "functionality" are used because they still have their ordinary meaning you'll find in a dictionary. There's no exact meaning in programming for them. It's a concept that has slightly different meaning to everyone. What people try to say with "abstraction" is that you don't go into details (like what kind of for/while loop you'll use), you keep it at a conceptual level. An "implementation detail" is always whatever you feel is too much detail to describe the concept. The same thing might be a concept in other places.

    – zapl
    1 hour ago


















6















I'm learning about OOP and Java, and the definition of Abstraction is the process of hiding the implementation details from the user, only the functionality will be provided to the user.



Can someone explain me what is the difference between functionality and implementation details?










share|improve this question













put on hold as too broad by Stultuske, Lino, Nicholas K, BIBIN K ONANKUNJU, U9-Forward 6 mins ago


Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.



















  • Possible duplicate of How does abstraction helps in hiding the implementation details in Java?

    – Lino
    2 hours ago











  • Maybe even better dupe: stackoverflow.com/questions/24626/…

    – Lino
    2 hours ago











  • Don't think too much about these definitions. "abstraction", "details" and "functionality" are used because they still have their ordinary meaning you'll find in a dictionary. There's no exact meaning in programming for them. It's a concept that has slightly different meaning to everyone. What people try to say with "abstraction" is that you don't go into details (like what kind of for/while loop you'll use), you keep it at a conceptual level. An "implementation detail" is always whatever you feel is too much detail to describe the concept. The same thing might be a concept in other places.

    – zapl
    1 hour ago
















6












6








6


0






I'm learning about OOP and Java, and the definition of Abstraction is the process of hiding the implementation details from the user, only the functionality will be provided to the user.



Can someone explain me what is the difference between functionality and implementation details?










share|improve this question














I'm learning about OOP and Java, and the definition of Abstraction is the process of hiding the implementation details from the user, only the functionality will be provided to the user.



Can someone explain me what is the difference between functionality and implementation details?







java oop abstraction






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 2 hours ago









gabygaby

3989




3989




put on hold as too broad by Stultuske, Lino, Nicholas K, BIBIN K ONANKUNJU, U9-Forward 6 mins ago


Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.









put on hold as too broad by Stultuske, Lino, Nicholas K, BIBIN K ONANKUNJU, U9-Forward 6 mins ago


Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.















  • Possible duplicate of How does abstraction helps in hiding the implementation details in Java?

    – Lino
    2 hours ago











  • Maybe even better dupe: stackoverflow.com/questions/24626/…

    – Lino
    2 hours ago











  • Don't think too much about these definitions. "abstraction", "details" and "functionality" are used because they still have their ordinary meaning you'll find in a dictionary. There's no exact meaning in programming for them. It's a concept that has slightly different meaning to everyone. What people try to say with "abstraction" is that you don't go into details (like what kind of for/while loop you'll use), you keep it at a conceptual level. An "implementation detail" is always whatever you feel is too much detail to describe the concept. The same thing might be a concept in other places.

    – zapl
    1 hour ago





















  • Possible duplicate of How does abstraction helps in hiding the implementation details in Java?

    – Lino
    2 hours ago











  • Maybe even better dupe: stackoverflow.com/questions/24626/…

    – Lino
    2 hours ago











  • Don't think too much about these definitions. "abstraction", "details" and "functionality" are used because they still have their ordinary meaning you'll find in a dictionary. There's no exact meaning in programming for them. It's a concept that has slightly different meaning to everyone. What people try to say with "abstraction" is that you don't go into details (like what kind of for/while loop you'll use), you keep it at a conceptual level. An "implementation detail" is always whatever you feel is too much detail to describe the concept. The same thing might be a concept in other places.

    – zapl
    1 hour ago



















Possible duplicate of How does abstraction helps in hiding the implementation details in Java?

– Lino
2 hours ago





Possible duplicate of How does abstraction helps in hiding the implementation details in Java?

– Lino
2 hours ago













Maybe even better dupe: stackoverflow.com/questions/24626/…

– Lino
2 hours ago





Maybe even better dupe: stackoverflow.com/questions/24626/…

– Lino
2 hours ago













Don't think too much about these definitions. "abstraction", "details" and "functionality" are used because they still have their ordinary meaning you'll find in a dictionary. There's no exact meaning in programming for them. It's a concept that has slightly different meaning to everyone. What people try to say with "abstraction" is that you don't go into details (like what kind of for/while loop you'll use), you keep it at a conceptual level. An "implementation detail" is always whatever you feel is too much detail to describe the concept. The same thing might be a concept in other places.

– zapl
1 hour ago







Don't think too much about these definitions. "abstraction", "details" and "functionality" are used because they still have their ordinary meaning you'll find in a dictionary. There's no exact meaning in programming for them. It's a concept that has slightly different meaning to everyone. What people try to say with "abstraction" is that you don't go into details (like what kind of for/while loop you'll use), you keep it at a conceptual level. An "implementation detail" is always whatever you feel is too much detail to describe the concept. The same thing might be a concept in other places.

– zapl
1 hour ago














5 Answers
5






active

oldest

votes


















12














Real world example: Think of a gear box, the user only have the ability to change gears and that is the functionality.



The mechanism behind the gearbox and how the gear box is working internally is the implementation and the implementation is hidden from the user.






share|improve this answer





















  • 1





    Nice example, worth the tenth vote ... and the badge that should be coming with it ;-)

    – GhostCat
    1 hour ago



















6














A good example is the Java List interface.



That provides methods to dynamically add or remove elements to the list. That is the function. How that really happens is not expressed in that interface, and for users of that List interface, it also doesn't matter (too much).



For example, the implementation could be a doubly linked list, where you just change the "links" between the objects in your list, or if an array is used that needs to grow/shrink accordingly, that is up to the implementation) Of course, there are actual pros and cons for the different implementation options, but in many situations, you might decide to not care about them.






share|improve this answer

































    3














    Functionnality : What it does



    Implementation : How it does it






    share|improve this answer































      2














      Encapsulation: wrapping up of data into a single unit.single unit(class). within a class, there are members, data members which wrapped in a unit called class.
      For example, your bag is a single unit you put books, pens inside the bag. The same class is a single unit.




      Resources for Encapsulation:





      • https://javatutorial.net/java-encapsulation-example

      • https://www.w3schools.com/java/java_encapsulation.asp


      Abstraction: hiding the background details. OOP provides these facilities. we can keep data inside the objects which provide security. The class also provide this facility you cannot access private data of the class. Only public, protected data can be accessible if you want to secure your data when you make it private.




      Resources for Abstraction:





      • https://javatutorial.net/java-abstraction-example

      • https://www.edureka.co/blog/java-abstraction/


      I hope that I helped you!






      share|improve this answer

































        1














        To put it simply, consider the code below:



        public Data getStoredData(int ID) {
        DBConnection conn = DBConnection.getInstance();
        conn.connect();

        Data data = conn.query("..." + ID);

        if(data != null) {
        data.setSomeValue('Some Value');
        }

        return data;
        }


        The term implementation details are the code you write inside your function.



        The term functionality it the method signature or the things you want to expose to the calling client. This is how you want your method to be used.





        In the example above, the functionality is this public Data getStoredData(int ID), while your implementation is the one that resides inside it.






        share|improve this answer






























          5 Answers
          5






          active

          oldest

          votes








          5 Answers
          5






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          12














          Real world example: Think of a gear box, the user only have the ability to change gears and that is the functionality.



          The mechanism behind the gearbox and how the gear box is working internally is the implementation and the implementation is hidden from the user.






          share|improve this answer





















          • 1





            Nice example, worth the tenth vote ... and the badge that should be coming with it ;-)

            – GhostCat
            1 hour ago
















          12














          Real world example: Think of a gear box, the user only have the ability to change gears and that is the functionality.



          The mechanism behind the gearbox and how the gear box is working internally is the implementation and the implementation is hidden from the user.






          share|improve this answer





















          • 1





            Nice example, worth the tenth vote ... and the badge that should be coming with it ;-)

            – GhostCat
            1 hour ago














          12












          12








          12







          Real world example: Think of a gear box, the user only have the ability to change gears and that is the functionality.



          The mechanism behind the gearbox and how the gear box is working internally is the implementation and the implementation is hidden from the user.






          share|improve this answer















          Real world example: Think of a gear box, the user only have the ability to change gears and that is the functionality.



          The mechanism behind the gearbox and how the gear box is working internally is the implementation and the implementation is hidden from the user.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 2 hours ago

























          answered 2 hours ago









          Fakhar Ahmad RasulFakhar Ahmad Rasul

          547411




          547411








          • 1





            Nice example, worth the tenth vote ... and the badge that should be coming with it ;-)

            – GhostCat
            1 hour ago














          • 1





            Nice example, worth the tenth vote ... and the badge that should be coming with it ;-)

            – GhostCat
            1 hour ago








          1




          1





          Nice example, worth the tenth vote ... and the badge that should be coming with it ;-)

          – GhostCat
          1 hour ago





          Nice example, worth the tenth vote ... and the badge that should be coming with it ;-)

          – GhostCat
          1 hour ago













          6














          A good example is the Java List interface.



          That provides methods to dynamically add or remove elements to the list. That is the function. How that really happens is not expressed in that interface, and for users of that List interface, it also doesn't matter (too much).



          For example, the implementation could be a doubly linked list, where you just change the "links" between the objects in your list, or if an array is used that needs to grow/shrink accordingly, that is up to the implementation) Of course, there are actual pros and cons for the different implementation options, but in many situations, you might decide to not care about them.






          share|improve this answer






























            6














            A good example is the Java List interface.



            That provides methods to dynamically add or remove elements to the list. That is the function. How that really happens is not expressed in that interface, and for users of that List interface, it also doesn't matter (too much).



            For example, the implementation could be a doubly linked list, where you just change the "links" between the objects in your list, or if an array is used that needs to grow/shrink accordingly, that is up to the implementation) Of course, there are actual pros and cons for the different implementation options, but in many situations, you might decide to not care about them.






            share|improve this answer




























              6












              6








              6







              A good example is the Java List interface.



              That provides methods to dynamically add or remove elements to the list. That is the function. How that really happens is not expressed in that interface, and for users of that List interface, it also doesn't matter (too much).



              For example, the implementation could be a doubly linked list, where you just change the "links" between the objects in your list, or if an array is used that needs to grow/shrink accordingly, that is up to the implementation) Of course, there are actual pros and cons for the different implementation options, but in many situations, you might decide to not care about them.






              share|improve this answer















              A good example is the Java List interface.



              That provides methods to dynamically add or remove elements to the list. That is the function. How that really happens is not expressed in that interface, and for users of that List interface, it also doesn't matter (too much).



              For example, the implementation could be a doubly linked list, where you just change the "links" between the objects in your list, or if an array is used that needs to grow/shrink accordingly, that is up to the implementation) Of course, there are actual pros and cons for the different implementation options, but in many situations, you might decide to not care about them.







              share|improve this answer














              share|improve this answer



              share|improve this answer








              edited 1 hour ago

























              answered 2 hours ago









              GhostCatGhostCat

              92.1k1688147




              92.1k1688147























                  3














                  Functionnality : What it does



                  Implementation : How it does it






                  share|improve this answer




























                    3














                    Functionnality : What it does



                    Implementation : How it does it






                    share|improve this answer


























                      3












                      3








                      3







                      Functionnality : What it does



                      Implementation : How it does it






                      share|improve this answer













                      Functionnality : What it does



                      Implementation : How it does it







                      share|improve this answer












                      share|improve this answer



                      share|improve this answer










                      answered 2 hours ago









                      vincrichaudvincrichaud

                      1,723924




                      1,723924























                          2














                          Encapsulation: wrapping up of data into a single unit.single unit(class). within a class, there are members, data members which wrapped in a unit called class.
                          For example, your bag is a single unit you put books, pens inside the bag. The same class is a single unit.




                          Resources for Encapsulation:





                          • https://javatutorial.net/java-encapsulation-example

                          • https://www.w3schools.com/java/java_encapsulation.asp


                          Abstraction: hiding the background details. OOP provides these facilities. we can keep data inside the objects which provide security. The class also provide this facility you cannot access private data of the class. Only public, protected data can be accessible if you want to secure your data when you make it private.




                          Resources for Abstraction:





                          • https://javatutorial.net/java-abstraction-example

                          • https://www.edureka.co/blog/java-abstraction/


                          I hope that I helped you!






                          share|improve this answer






























                            2














                            Encapsulation: wrapping up of data into a single unit.single unit(class). within a class, there are members, data members which wrapped in a unit called class.
                            For example, your bag is a single unit you put books, pens inside the bag. The same class is a single unit.




                            Resources for Encapsulation:





                            • https://javatutorial.net/java-encapsulation-example

                            • https://www.w3schools.com/java/java_encapsulation.asp


                            Abstraction: hiding the background details. OOP provides these facilities. we can keep data inside the objects which provide security. The class also provide this facility you cannot access private data of the class. Only public, protected data can be accessible if you want to secure your data when you make it private.




                            Resources for Abstraction:





                            • https://javatutorial.net/java-abstraction-example

                            • https://www.edureka.co/blog/java-abstraction/


                            I hope that I helped you!






                            share|improve this answer




























                              2












                              2








                              2







                              Encapsulation: wrapping up of data into a single unit.single unit(class). within a class, there are members, data members which wrapped in a unit called class.
                              For example, your bag is a single unit you put books, pens inside the bag. The same class is a single unit.




                              Resources for Encapsulation:





                              • https://javatutorial.net/java-encapsulation-example

                              • https://www.w3schools.com/java/java_encapsulation.asp


                              Abstraction: hiding the background details. OOP provides these facilities. we can keep data inside the objects which provide security. The class also provide this facility you cannot access private data of the class. Only public, protected data can be accessible if you want to secure your data when you make it private.




                              Resources for Abstraction:





                              • https://javatutorial.net/java-abstraction-example

                              • https://www.edureka.co/blog/java-abstraction/


                              I hope that I helped you!






                              share|improve this answer















                              Encapsulation: wrapping up of data into a single unit.single unit(class). within a class, there are members, data members which wrapped in a unit called class.
                              For example, your bag is a single unit you put books, pens inside the bag. The same class is a single unit.




                              Resources for Encapsulation:





                              • https://javatutorial.net/java-encapsulation-example

                              • https://www.w3schools.com/java/java_encapsulation.asp


                              Abstraction: hiding the background details. OOP provides these facilities. we can keep data inside the objects which provide security. The class also provide this facility you cannot access private data of the class. Only public, protected data can be accessible if you want to secure your data when you make it private.




                              Resources for Abstraction:





                              • https://javatutorial.net/java-abstraction-example

                              • https://www.edureka.co/blog/java-abstraction/


                              I hope that I helped you!







                              share|improve this answer














                              share|improve this answer



                              share|improve this answer








                              edited 1 hour ago

























                              answered 2 hours ago









                              dpapdpap

                              1,1311624




                              1,1311624























                                  1














                                  To put it simply, consider the code below:



                                  public Data getStoredData(int ID) {
                                  DBConnection conn = DBConnection.getInstance();
                                  conn.connect();

                                  Data data = conn.query("..." + ID);

                                  if(data != null) {
                                  data.setSomeValue('Some Value');
                                  }

                                  return data;
                                  }


                                  The term implementation details are the code you write inside your function.



                                  The term functionality it the method signature or the things you want to expose to the calling client. This is how you want your method to be used.





                                  In the example above, the functionality is this public Data getStoredData(int ID), while your implementation is the one that resides inside it.






                                  share|improve this answer




























                                    1














                                    To put it simply, consider the code below:



                                    public Data getStoredData(int ID) {
                                    DBConnection conn = DBConnection.getInstance();
                                    conn.connect();

                                    Data data = conn.query("..." + ID);

                                    if(data != null) {
                                    data.setSomeValue('Some Value');
                                    }

                                    return data;
                                    }


                                    The term implementation details are the code you write inside your function.



                                    The term functionality it the method signature or the things you want to expose to the calling client. This is how you want your method to be used.





                                    In the example above, the functionality is this public Data getStoredData(int ID), while your implementation is the one that resides inside it.






                                    share|improve this answer


























                                      1












                                      1








                                      1







                                      To put it simply, consider the code below:



                                      public Data getStoredData(int ID) {
                                      DBConnection conn = DBConnection.getInstance();
                                      conn.connect();

                                      Data data = conn.query("..." + ID);

                                      if(data != null) {
                                      data.setSomeValue('Some Value');
                                      }

                                      return data;
                                      }


                                      The term implementation details are the code you write inside your function.



                                      The term functionality it the method signature or the things you want to expose to the calling client. This is how you want your method to be used.





                                      In the example above, the functionality is this public Data getStoredData(int ID), while your implementation is the one that resides inside it.






                                      share|improve this answer













                                      To put it simply, consider the code below:



                                      public Data getStoredData(int ID) {
                                      DBConnection conn = DBConnection.getInstance();
                                      conn.connect();

                                      Data data = conn.query("..." + ID);

                                      if(data != null) {
                                      data.setSomeValue('Some Value');
                                      }

                                      return data;
                                      }


                                      The term implementation details are the code you write inside your function.



                                      The term functionality it the method signature or the things you want to expose to the calling client. This is how you want your method to be used.





                                      In the example above, the functionality is this public Data getStoredData(int ID), while your implementation is the one that resides inside it.







                                      share|improve this answer












                                      share|improve this answer



                                      share|improve this answer










                                      answered 2 hours ago









                                      arjayosmaarjayosma

                                      331212




                                      331212















                                          Popular posts from this blog

                                          ORA-01691 (unable to extend lob segment) even though my tablespace has AUTOEXTEND onORA-01692: unable to...

                                          Always On Availability groups resolving state after failover - Remote harden of transaction...

                                          Circunscripción electoral de Guipúzcoa Referencias Menú de navegaciónLas claves del sistema electoral en...