Object oriented

I have completed a program that assigns letter grades to students and displays average.
Now i have to take this application and implement it into two separate java files one for implementation and the other for its definition (object oriented)
I have absolutely no clue on where to begin.
Im not asking for anyone to do this for me but i would apppreciate any advice, tips, or references i can use to guide me to breaking down my program into two files.
Thanks!
import javax.swing.*;
public class Grade {
     static final int MAX = 40;
     static final int MIDTERM = 25;
     static final int FINAL = 35;
     static final int ASSIGNMENTS = 25;
     static final int PROJECT = 15;
     public static void main (String [] args)
          int [] midterm = new int [MAX], finalExam = new int [MAX],
               assignments = new int [MAX], project = new int [MAX];
          String [] names = new String [MAX];
          int num;
          num = howMany();
          enterStudents(names, midterm, finalExam, assignments, project, num);
          output (names, midterm, finalExam, assignments, project, num);
     private static int howMany()
     { int number;
       number = Integer.parseInt(JOptionPane.showInputDialog("Enter number of students in this class: "));
       while (number < 0 || number > MAX)
             number = Integer.parseInt(JOptionPane.showInputDialog("ERROR -- maximum class size is "+MAX+" Enter number of students in this class: "));
       return number;
      private static int score(String requirement, String name)
           int value;
           value = Integer.parseInt(JOptionPane.showInputDialog("Enter " + requirement+" score for "+name+": "));
          while (value < 0 || value > 100)
               value = Integer.parseInt(JOptionPane.showInputDialog("ERROR -- this value represents a percentage and must be between 0 and 100, try again\n Enter " + requirement+" score for "+name+": "));
            return value;
       private static void enterStudents(String [] snames, int [] smids, int [] sfin, int [] sass, int [] sproj, int n)
            for (int i = 0; i < n; i++)
                 snames[i] = JOptionPane.showInputDialog( "Enter student "+(i+1)+"'s name: ");
                 smids[i] = score ("Midterm Exam", snames);
               sfin[i] = score ("Final Exam", snames[i]);
               sass[i] = score ("Assignments", snames[i]);
               sproj[i] = score ("Project", snames[i]);
     private static String letterGrade (int percent)
          switch (percent/10)
               case 9:
               case 10: return "A";
               case 8: return "B";
               case 7: return "C";
               case 6: return "D";
               default: return "F";
     private static int computeGrade (int mid, int fin, int assn, int proj)
          return (mid*MIDTERM+fin*FINAL+assn*ASSIGNMENTS+proj*PROJECT)/100;
     private static void output(String [] snames, int [] smids, int [] sfin, int [] sass, int [] sproj, int n)
          String info="Name Grade\n";
          int grade, total=0;
          for (int i = 0; i < n; i++)
          {System.out.println(info);
               grade=computeGrade(smids[i], sfin[i], sass[i], sproj[i]);
               total+=grade;
               info+= snames[i]+" " letterGrade(grade)"\n";
          JOptionPane.showMessageDialog(null, info + "\n-------------------------\nClass Average: "+ total/n);

Something like this
import javax.swing.JOptionPane;
public class SwimmerDefinition{
     public static void main(String[] args){
     implementation i=new implementation();
     int time1, time2;                      //integers for the two trials of the race
     String name = JOptionPane.showInputDialog(null,
          "Please enter the name of the swimmer");   //prompts the user for the swimmers name
     i.setName(name);     
     String minutes1 = JOptionPane.showInputDialog(null,
          "Enter minutes of swimmer " + name);          //asks for the minutes of swimmers race for trial 1
     int m = Integer.parseInt(minutes1);
     String seconds1 = JOptionPane.showInputDialog(null,
          "Enter seconds of swimmer " + name);              //asks for the seconds of swimmers race for trial 1
     int s = Integer.parseInt(seconds1);
     i.setTime(m,s);
      time1=i.getTime();
     String minutes2 = JOptionPane.showInputDialog(null,
          "Enter minutes of swimmer " + name + " for trial 2 "); //asks for the minutes of swimmers race for trial 2
     int m2 = Integer.parseInt(minutes2);
     String seconds2 = JOptionPane.showInputDialog(null,
          "Enter seconds of swimmer " + name + " for trial 2 "); //asks for the seconds of swimmers race for trial 2
     int s2 = Integer.parseInt(seconds2);
     i.setTime(m2,s2);
      time2=i.getTime();
     if(i.bestTime(time1,time2))
     JOptionPane.showMessageDialog(null,"Best time of "+i.getName()+" is"+time2/60+ " minutes " +time2%60+ " seconds ");  //compares two trials for the best times between the two, then outputs the best one
     else
     JOptionPane.showMessageDialog(null,"Best time of "+i.getName()+" is"+time1/60+ " minutes " +time1%60+ " seconds ");
}class implementation{
String name;
     int time; //declaring variables
     public String getName () {return name;} //returns name
     public int getTime () {return time;} //returns time
     public void setName(String n) { name = n;} //sets name
     public void setTime (int m, int s) {   //sets time in minutes and seconds
          if (m>0 && m < 20 && s >= 0 && s < 60)
               time = 60*m + s;
     public boolean bestTime (int m, int s)
          if (m>s){
               return true;} //boolean to determine the best time in minutes and seconds
          else
          return false;

Similar Messages

  • How to display horizontal line in top-of-page by using object oriented ALV?

    How to display horizontal line in top-of-page by using object oriented ALV.
    I am created top-of-page in object oriented alv.
    But not be successes in showing horizontal line in it.
    Can any one pls give solution for this..
    Thanks and regards..

    Hi
    Try like this
    data: gt_list_top_of_page type slis_t_listheader. " Top of page text. 
    Initialization. 
    perform comment_build using gt_list_top_of_page[]. 
    form top_of_page. 
    * Note to self: the gif must be loaded into transaction OAOR with 
    * classname 'PICTURES' AND TYPE 'OT' to work with ALV GRID Functions. 
    * I Loaded NOVALOGO2 into system. 
    call function 'REUSE_ALV_COMMENTARY_WRITE' 
         exporting 
    * I_LOGO = 'NOVALOGO2' 
    * i_logo = 'ENJOYSAP_LOGO' 
             it_list_commentary = gt_list_top_of_page. 
    endform. " TOP_OF_PAGE 
    form comment_build using e04_lt_top_of_page type slis_t_listheader. 
    data: ls_line type slis_listheader. 
          clear ls_line. 
          ls_line-typ = 'A'. 
          ls_line-info = 'Special'(001). 
          fgrant = xgrant. 
          concatenate ls_line-info fgrant 
          'Stock Option Report to the board'(002) 
                 into ls_line-info separated by space. 
                        condense ls_line-info. 
          append ls_line to e04_lt_top_of_page. 
    endform. " COMMENT_BUILD
    Use following syntex for footer print in alv:
    * For End of Page
    form END_OF_PAGE.
      data: listwidth type i,
            ld_pagepos(10) type c,
            ld_page(10)    type c.
      write: sy-uline(50).
      skip.
      write:/40 'Page:', sy-pagno .
    endform.
    *  For End of Report
    form END_OF_LIST.
      data: listwidth type i,
            ld_pagepos(10) type c,
            ld_page(10)    type c.
      skip.
      write:/40 'Page:', sy-pagno .
    endform.
    check this link
    http://abapprogramming.blogspot.com/
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5dc3e690-0201-0010-1ebf-b85b3bed962d
    Changing width of a custom container dynamically
    Display Page numbers in ALV
    Insert picture in selection screen.
    Logo in OO ALV Grid
    Reward all helpfull answers
    Regards
    Pavan

  • Trying to understand object oriented programming

    Hi all,
    I'm new to programming and I'm trying to learn C and Objective-C to eventually write an iPhone/iPad app.
    I want to make sure I'm understanding some fundamental Object Oriented principles and so I'm starting with a very basic program.
    I've produced a class called CartesianPoint which has an x and y variable plus methods to set and return these variables and also a method to calculate the magnitude from the origin.
    What I would like to do now is to extend the program to have a CartesianVector class.
    I'm a little unsure as to whether a Vector is a subclass of a Point or whether a Point is a subclass of a Vector... or neither?
    Secondly, I'm a little unsure of how to implement the vector class to use two point objects. How should the header and implementation files be set up to receive point objects from the main.m program?
    I'd like to also try and extend the program to include other ways of defining a vector (i.e. origin, unity vector and magnitude).... and then use the vectors to build 2D shapes.
    Many thanks,
    Glyn
    Message was edited by: GlynC
    Message was edited by: GlynC

    Hi Glyn -
    I agree with William and would vote for "neither". I see a subclass as a specialization of its superclass, not, for example, something contained by its superclass. A container relationship might apply to a subview and its superview, yet the class of the superview could be a specialization of the subview's class so the subview's class might be the parent of the superview's class. The classic example of cat as a subclass of animal (cat:animal) can be misleading if we see the relationship as member:group. Cat is a subclass of animal because it's a specialization.
    Also ask, "What's accomplished by making a subclass"? Does the subclass want to use all or most of the parent's instance variables and methods? Could the job be done any other way? Are any of those ways simpler or do they lead to more reusable code?
    One of the best examples (from the Cocoa docs?) is about a programmer who needs a specialized array. A newbie might immediately attempt a subclass of NSArray (a rather tricky subclassing job as it happens). In most cases however, the correct solution would be a class which includes an NSArray* type instance variable.
    Hope some of the above is helpful!
    \- Ray

  • Expose Object Oriented Service code as Web Services?

    Hello All,
    I would appreciate for your insight on this matter!
    Web Services are basically RPC (Procedure Oriented) over Soap. Each service invocation by a client results a procedure execution on the server side (In many case, a service class may need to be instantiated before the procedure can be called).
    Suppose I have developed server-side logics in Object Oriented manners. How can I expose the OO server logics as Web Services? Does JDeveloper handle OO services any different from PO (procedure-oriented) services as far as the generated wrapper code/interface and WSDL?
    Specifically, I have the following example in mind. Assume we are able to successfully expose an OO services. A client calls one of the OO service (let's say service1 in portType1) the 1st time, and establish some transit state (not committing into DB), the same client subsequently calls another service (service2) of the same server portType1. How would the server retrieve the transit state established earlier by service1 while executing service2? (note, this situation would not be resulted in a procedure-oriented case. since each RPC call is independent from the others)
    I realize that "stateful" deployment may be of an option. However, stateful seems relying on client cooperation (e.g., via cookies) to establish context across multiple invocations. This may or may not be possible given an arbitrary client parties write its client code based on a WSDL.
    Another option I can think about is for Jdeveloper to generated different code for PO services vs. OO services. However, it seems not the case in current Jdeveloper.
    Thank you so much!
    jason

    Web services in general have two styles of invocation: RPC style and Doc style. RPC maps as you say directly to methods on Java class (or if a DB PL/SQL package to procedures and functions).
    The alternative, DOC, generally (though not all the time) maps to a message oriented interface. Often DOC style Web services map to messaging infrastructure such as Java Message Service Queues and Topics.
    That said RPC works well with EJB's, the component model for J2EE.
    Often what folks will do is build a service layer that is very coarse grained when exposing backend infrastructure as Web services. This abstraction typically hides a more OO underpinning (or quite often hides a very procedural backend too).
    The bottom line is the Web services do not force an OO paradigm but nor do they hinder you in any way from adopting an OO paradigm.
    In terms of JDeveloper currently it supports RPC and supports DOC only with some tweaking. On the server side, the Oracle9iAS infrastructure supports both DOC and RPC.
    Hope this is a start to answering what I think is a hard question to answer!
    Mike.

  • Object oriented Concept

    Hi all, I feel confuse on object oriented.
    Basic, I get change to developer some online form. I use java bean , Servlet, JSTL and Mysql. In my java bean I only have the attribute set and get pattern. I just wonder I put my delete , search and update action on Servlet , not in the java bean , is that means that Is not object oriented enough? How to improve it ?
    thank you!

    Thank you for the reply, I did use some of the Spring in my Project, but only limit in flower control , such as simple spring + acegi , a lot of control still in servlet. I also try some other new stuff like display tag , but that only work on if your jsp page is out of the WEB-INF. I also go through some tutorials on JSF , but not time to figure out how JSF work with acegi yet.
    1 mention the display tag and JSF just try to explain, I looking for a new framework. But don?t want the whole framework to tire me up. For example in simple servlet I can use ? /WEB-INF/ + target to send my flower to any JSP page depend on the link that I click , but I don?t how to handle it spring. May be I did not get the real concept of spring yet. I looking for some framework that allow me to use new technology , but still allow me to use some old technology , like servlet then I can finish my project on time.
    But what is the relation between web framework and object oriented concept??

  • Object-oriented programming: state and behaivor

    First of all, sorry for my level english.
    In Object-Oriented programming, should an object save always some state?
    What about session stateless bean service? What is the sense?
    These objects have only behaivour and not state.
    Perhaps, the sense is that you can send a message to this object, in oposite of a static methods in utility class?
    Thanks and regards.

    I suppose you could argue that if it doesn't have any state, then it's not really an "object" in the OOP sense, but who cares, really.
    Personally, I use state and behavior as a way to help clarify the responsibilities of various classes in the system, and if I see a codebase with a lot of objects with state but no behavior or behavior but no state, then it's a a red flag that it's a messy, poorly-thought-out design (and it usually turns out to be exactly that). The whole point of OOP (IMHO) is encapsulation, and bundling state and behavior together makes things encapsulated (you can prove that state changes only in certain areas in certain circumstances). Encapsulation makes for more easily maintainable code.
    It's easy to spot the blue squares in a Mondrian. It's difficult to spot the blue bits in a Pollock. The former is well-encapsulated OOP and the latter is poorly-encapsulated spaghetti code.
    That said, it's not the end of the world if you have a static utility class here and there.

  • Object Oriented Patterns and Visio

    Visio question:
    Does anyone know if there are established shapes for each (or any) of the object oriented patterns? If not, is anyone working on that or interested in that?
    Since they all have names (Momento, Proxy, Iterator, Mediator, Observer, etc.) it seems like they ought to each have their own shape. Since Object Oriented is all about communication of intent, each pattern having its own recognizable shape would go a long way toward a more meaningful communication through diagram. Also, if they each had their own shape, then the super-patterns (based on commonly grouped patterns and interactions) could also be easily represented.
    Blaine

    I'm kind of making an assumption here and if it's in error then feel free to disregard the rest of this post.
    Assumption that you're thinking terms of shapes for representing in UML the various patterns. Everything you need is right there in front of you already regardless of whether you use Visio, Rational, Poseidon or some other UML tool.
    Patterns are not individual constructs. One does not make a Mediator class. One makes a Java class that is an implementation of the Mediator pattern. As such you would see in the static class diagram the same grouping of classes for an X Mediator as you would for Y Mediator. That is the image you're looking for. It's not a single widget that you drag onto the screen, it's in the pattern itself.
    If, however, you're talking about something like a graphical representation to give to managers that says "Here be Momento patterns", then I would postulate that you're trying to communicate information that they don't need nor should they concern themselves with. Patterns are an implementation issue. They deal with, "How" we will solve a problem, not what problem will we solve. Mangaers, IMNSHO, need only concern themselves with what problems we will solve, not how they will be solved.
    Just my 2 krupplenicks on the subject, your milage may of course vary.
    PS.

  • Issue with internal table in object oriented ABAP.

    Hello Gurus,
    I am having trouble defining internal table in Object oriented ABAP. for following:
    DATA: BEGIN OF IT_TAB OCCURS 0.
            INCLUDE STRUCTURE ZCUSTOM.
    DATA    tot_sum   TYPE char40.
    DATA END OF IT_TAB.
    Can someone help ?
    Regards,
    Jainam.
    Edited by: Jainam Shah on Feb 5, 2010 8:33 PM
    Edited by: Jainam Shah on Feb 5, 2010 8:33 PM
    Moderator message - Please post in the correct forum. You can easily find out for yourself by looking at SAP help for internal tables using OOP - thread locked
    Edited by: Rob Burbank on Feb 5, 2010 2:49 PM

    No, you can not declare internal table with header line in OO context. You have to declare the work are/header line separately
    Example:
    TYPES: BEGIN OF ty_it_tab.
            INCLUDE STRUCTURE mara.
    TYPES:  tot_sum TYPE char40.
    TYPES: END OF ty_it_tab.
    DATA: it_tab TYPE STANDARD TABLE  OF ty_it_tab.
    DATA: wk_tab TYPE ty_it_tab.
    LOOP AT it_tab INTO wk_tab.
    ENDLOOP.
    Edited by: Dean Q on Feb 5, 2010 8:50 PM

  • Trying to understand the basic concept of object oriented programming.

    I am trying to understand the basic concept of object oriented programming.
    Object - a region of storage that define is defined by both state/behavior.
    ( An object is the actual thing that behavior affects.)
    State - Represented by a set of variables and the values they contain.
    (Is the location or movement or action that is the goal that the behavior is trying to accomplish.)
    Variables- (What does this mean?)
    Value - (What does this mean?)
    Behavior - Represented by a set of methods and the logic they implement.
    ( A set of methods that is built up to tell's the how object to change it's state. )
    Methods - A procedure that is executed when an object receives a message.
    ( A very basic comand.For example the method tells the object to move up, another method tells the method to go left. Thus making the object move up/left that combination is the behavior.)
    Class - A template from which the objects are created.
    ( I am very confused on what classes are.)
    - The definitions of the words I obtained from the "Osborne Teach Yourself Java". The () statements are how I interperate the Mechanisms (I do not know if Thats what you call them.) interact with each other. I understand my interpretation may be horribly wrong. I will incredibly appreciate all the support I may get from you.
    Thank you

    Object oriented programming is a replacement for the older idea of procedural programming (you can research procedural programming in google). As I understand it, in procedural programming, you have a step by step set of function calls to accomplish some task. Each function receives a data structure, manipulates it, and passes it to the next function. The problem with this is that each function preforms some action for the overall task and can't easily be reused by some other task. Its also harder to read the flow of what is happening with raw data structures flying all over the place.
    In object oriented programming, an object calls a function of another object and receives back, not a data structure, but another object. Objects contain a data structure that can only be accessed by its functions. An object is not so much a sub component of a bigger task, as it is a service that any other task can use for any purpose. Also, when you pass an object to the caller, the caller can ask questions about the data structure via its functions. The developer doesnt have to know what the previous function did to the data by reading up on any documentation, or having to reverse engineer the code.
    I suggest the best way of learning this is to code something like a library object.
    A library object contains a collection of book objects
    A book object contains a collection of chapter objects
    A chapter object contains a collection of paragraph objects
    A paragraph object contains a collection of sentence objects
    A sentence object contains a collection of word objects.
    Add functions to each object to provide a service
    Example: A library object should have a:
    public void addBook(Book book)
    public Book getBook(String title)
    public boolean isBookInLibrary(String title)
    The key is to add functions to provide a service to anyone who uses your object(s)
    For example, what functions (service) should a paragraph object provide?
    It shouldn't provide a function that tells how many words there are in a sentence. That function belongs to a sentence object.
    Lets say you want to add a new chapter to a book. The task is easy to read
    if you write your objects well:
    Sentence sentence1=new Sentence("It was a dark and stormy night");
    Sentence sentence2=new Sentence("Suddenly, a shot ran out");
    Paragraph paragraph=new Paragraph();
    paragraph.addSentence(sentence1);
    paragraph.addSentence(sentence2);
    Paragraphs paragraphs=new Paragraphs();
    paragraphs.addParagraph(paragraph);
    Library library= new Library();
    library.getBook("My Novel").addChapter("Chapter 1",paragraphs).
    Now, lets say you want to have a word count for the entire book.
    The book should ask each chapter how many words it contains.
    Each chapter should ask its paragraphs, each paragraph should ask
    its sentences. The total of words should ripple up and be tallied at each
    stage until it reaches the book. The book can then report the total.
    Only the sentence object actually counts words. The other objects just tallies the counts.
    Now, where would you assign a librarian? What object(s) and functions would you provide?
    If written well, the project is easily extensible.

  • HOw to make an Object oriented alv respond to double click

    Hi all,
    HOw to make an Object oriented alv respond to double click.SAmple code will be helpful.
    Thanks in advance,
    Alex.

    Hi,
    1. Create a Control (for Custom and Split Containers only)
    2. Instantiate a Container Object (in case of Custom and Split Containers, specify the control which is created by us in Screen painter) CREATE OBJECT
    3. Instantiate an Object of the kind of report that has to be displayed (List, Grid or Tree). CREATE OBJECT . Here we need to specify the Parent Container as the so that it sits in that container.
    4. Call appropriate methods to display the report on the screen. CALL METHOD ->
    DATA : g_dock TYPE REF TO cl_gui_docking_container,
    g_split TYPE REF TO cl_gui_easy_splitter_container,
    g_cont1 TYPE REF TO cl_gui_container,
    g_cont2 TYPE REF TO cl_gui_container,
    g_grid1 TYPE REF TO cl_gui_alv_grid,
    g_grid2 TYPE REF TO cl_gui_alv_grid.
    i_mara is an internal table of structure MARA
    SELECT * FROM mara INTO TABLE i_mara.
    i_kna1 is an internal table of structure KNA1
    SELECT * FROM kna1 INTO TABLE i_kna1.
    To create an Object of type Docking Container
    CREATE OBJECT g_dock
    EXPORTING
    side = cl_gui_docking_container=>dock_at_top
    extension = 200 .
    To Create an Object of Type Split Container. Here we can see that the Docking *Container Created above has been used as a parent .
    CREATE OBJECT g_split
    EXPORTING
    parent = g_dock
    orientation = 1 .
    Easy Split container splits one Control into 2 manageable controls, each of them is used * to handle one GUI Container each
    g_cont1 = g_split->top_left_container.
    g_cont2 = g_split->bottom_right_container.
    To Create an Object of type Grid . Here we can see that the Left Split Container * Created above has been used as a parent .
    CREATE OBJECT g_grid1
    EXPORTING
    i_parent = g_cont1 .
    To Create an Object of type Grid . Here we can see that the Right Split Container * Created above has been used as a parent .
    CREATE OBJECT g_grid2
    EXPORTING
    i_parent = g_cont2 .
    The method of Grid Control Object is used to display the Data.
    CALL METHOD g_grid1->set_table_for_first_display
    EXPORTING
    i_structure_name = 'MARA'
    CHANGING
    it_outtab = i_mara[] .
    The method of Grid Control Object is used to display the Data.
    CALL METHOD g_grid2->set_table_for_first_display
    EXPORTING
    i_structure_name = 'KNA1'
    CHANGING
    it_outtab = i_kna1[] .
    Regards
    Hari

  • Converting sample Procedural ABAP code in Object oriented code...

    Hello Gurus,
    I am learning object oriented ABAP. The best way to learn it is do it practically. If I want to change the following code in OO code , how can it be done ?
    TABLES : gb01.
    Data Declaration
    DATA : BEGIN OF i_mid OCCURS 0,
            mid(2),
            text(10),
           END OF i_mid.
    DATA :v_tabix LIKE sy-tabix.
    Selection Screen
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME
                                       TITLE text-001.
    PARAMETER : p_modif(1) DEFAULT 'U',
                p_class LIKE gb01-boolclass DEFAULT '009',
                p_cltyp LIKE gb01-classtype DEFAULT 'S',
                p_table LIKE gb01-bcltab DEFAULT 'BSEG',
                p_field LIKE gb01-bclfield DEFAULT 'HKONT',
                p_excld LIKE gb01-bexclude DEFAULT ' '.
    SELECTION-SCREEN END OF BLOCK b1.
    Selection Screen F4 Help for Modif ID's
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_modif.
      PERFORM get_modifid.
    Start of Selection
    START-OF-SELECTION.
      CLEAR gb01.
      CASE p_modif.
        WHEN 'U'. "Update
          UPDATE gb01
          SET bexclude = p_excld
          WHERE bcltab = p_table
          AND bclfield = p_field
          AND boolclass = p_class
          AND classtype = p_cltyp.
          IF sy-subrc NE 0.
            WRITE : / 'UPDATE - KO'.
          ELSE.
            WRITE : / 'UPDATE - OK'.
          ENDIF.
        WHEN 'I'. "Insert
          gb01-bcltab = p_table.
          gb01-bclfield = p_field.
          gb01-boolclass = p_class.
          gb01-classtype = p_cltyp.
          gb01-bexclude = p_excld.
          INSERT INTO gb01 VALUES gb01.
          IF sy-subrc NE 0.
            WRITE : / 'INSERTION - KO'.
          ELSE.
            WRITE : / 'INSERTION - OK'.
          ENDIF.
        WHEN 'D'. "Delete
          DELETE FROM gb01
          WHERE bcltab = p_table
          AND bclfield = p_field
          AND boolclass = p_class
          AND classtype = p_cltyp.
          IF sy-subrc NE 0.
            WRITE : / 'DELETE - KO'.
          ELSE.
            WRITE : / 'DELETE - OK'.
          ENDIF.
      ENDCASE.
    *&      Form  get_modifid
          F4 Help for modif id field
    FORM get_modifid.
      i_mid-mid = 'U'.
      i_mid-text = 'Update'.
      APPEND i_mid.
      i_mid-mid = 'I'.
      i_mid-text = 'Insert'.
      APPEND i_mid.
      i_mid-mid = 'D'.
      i_mid-text = 'Delete'.
      APPEND i_mid.
      CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY'
           EXPORTING
                endpos_col   = '20'
                endpos_row   = '12'
                startpos_col = '10'
                startpos_row = '10'
                titletext    = 'Modification Ids'
           IMPORTING
                choise       = v_tabix
           TABLES
                valuetab     = i_mid
           EXCEPTIONS
                break_off    = 1
                OTHERS       = 2.
      IF sy-subrc NE 0.
        EXIT.
      ENDIF.
      READ TABLE  i_mid INDEX v_tabix.
      IF sy-subrc EQ 0.
        p_modif = i_mid-mid.
      ENDIF.
      REFRESH i_mid.
    ENDFORM.                    " get_modifid
    Regards,
    Rajesh.

    Hi Rajesh,
    Hey here are some of  the links, please chek these links u have lot of examples
    http://www.****************/Tutorials/OOPS/MainPage.htm
    and also please check these threads
    OOABAP
    book for OOABAP?
    Best regards,
    raam

  • Object-Oriented Programming

    I'm working on a code associated with object-oriented programming:
    The StreetAddress class has this constructor:
    StreetAddress( String street, String city,
                   String state, String zip );
    and the following methods:
    void SetStreet( String street ); and String GetStreet();
    void SetCity( String city); and String GetCity();
    void SetState( String state ); and String GetState();
    void SetZIP( String zip ); and String GetZIP();
    String MailingLabel();.
    The last of these returns the mailing address in the following form:
    street
    city, state zipand this is what i have so far:
    public class StretAddress
      private String myStreet;
      private String myCity;
      private String myState;
      private String myZip;
      public StreetAddress( String street, String city, String state, String zip)
        myStreet = street;
        myCity = city;
        myState = state;
        myZip = zip;
      public String getStreet() 
          return myStreet;
      public void SetStreet( String street )
        myStreet = street;
      public String getCity()
          return myCity;
      public void SetCity( String city )
        myCiy = city;
      public String getState()
         return myState;
      public void SetState( String state )
        myState = state;
      public String getZip()
        return myZip;
      public void SetZip( String zip )
        myZip = zip;
      public String MailingLabel()
      System.out.println(street \n city, state + " " + zip);
    }I have no idea what to do now, can someone please help me with this?

    ejp wrote:
    personally, i don't think you need all four in order to be object-oriented.Without all four it might be class-based, or object-based, but not object-oriented. See Peter Wegner's paper which defined all this in 1987:
    http://www.cse.msu.edu/~stire/cse891f04/wegner.pdf
    With all due respect, I find this "definition" more meaningful:
    http://www.youtube.com/watch?v=bfx7tvGisbA

  • Object oriented programming in LabVIEW

    Please send this message to everybody who has an opinion about this.
    Please try to keep it short, but if you can't control yourselves, let
    it all out!
    I would like to have your opinions about the nature of Labview and it's
    ability to support object oriented programming.
    I have a couple of questions to fire the discussion.
    1- Do you think that LV was built to support OO Programming?
    2- Is OO the only way we have to support large applications, or is it
    feasible to support it with a good dataflow architecture including all
    the flowcharts and all the data definitions?
    3- Is LV going to stay "dataflow" or is it going to become OO?
    4- What would be the great benefits of turning LV to OO that we don't
    already have w
    ith the dataflow approach?
    5- My opinion is that trying to implement OO in LabVIEW, is like trying
    to
    Thank you all for your time.
    Sent via Deja.com
    http://www.deja.com/

    > 1- Do you think that LV was built to support OO Programming?
    LV was initially designed in 1983. OOP existed at that point,
    but LV wasn't designed to be OO. It was designed to allow
    engineers and researchers a simple language appropriate
    for controlling their research labs from a computer.
    > 2- Is OO the only way we have to support large applications, or is it
    > feasible to support it with a good dataflow architecture including all
    > the flowcharts and all the data definitions?
    OO lends itself to large projects because it provides
    abstraction, encapsulation, and organizes code into
    modules that can more easily be implemented independent
    of one another since they can be specified in finer
    detail. Also, the compilers help to enforce the
    specifications providing they can be encoded in the
    interface between objects.
    These OO principles were already a part of big projects
    long before there were OO languages. It was just that
    the language didn't necessarily have features which
    supported it. Similarly, they can be a part of big
    projects today despite the language being used.
    LV 2 style globals, which as the name suggests were
    in use long ago, encapsulate data with an interface.
    They disallow arbitrary access to the data and can be
    used to enforce correct access. With other functions
    layered on top, you get a nice interface to stored data.
    Functions and structs/clusters abstract away details.
    Building a subVI that does an FFT means that for 99%
    of the uses, you don't need any more information except
    that this block performs an abstract mathematical function,
    an FFT. The implementation can be completely changed
    to speed it up or make it more accurate and your code
    isn't affected. Its abstract definition still holds, so
    your code still works.
    There are other things that OO languages bring to the
    table that LV, and GOOP don't yet offer. In my opinion,
    a few more OO features can be added to LV to allow for
    even larger projects in the future provided they are used
    well.
    Earlier posts pointed out that C++ doesn't guarantee that
    a project will succeed. OO features are just another tool,
    and the tool can be misused leading to a failed project.
    This is true to LV, C, C++, and all other engineering tools.
    The key is using the tools at hand to best solve the
    problems we face. Not glorifying or blaming the tools for
    the state of the project.
    > 3- Is LV going to stay "dataflow" or is it going to become OO?
    LV is dataflow to the core. The definition of what data
    is flowing may be expanded, but it will still be data
    flowing down wires from one node to another that accounts
    for how the program executes.
    One of the limitations of the current GOOP is that all
    objects are dealt with by a reference. By adding
    language features, objects could be made to flow down
    the wire, just like strings and arrays, meaning that
    branching a wire doesn't lead to side-effects,
    and there is no need to dispose objects.
    > 4- What would be the great benefits of turning LV to OO that we don't
    > already have with the dataflow approach?
    Remember when LV didn't have typedefs? It was easy for
    a cluster datatype to change once a project was underway.
    That usually led to lots of edits on other panels to get
    them back in synch. Without the unbundle by name, you
    then went through the diagrams fixing all of the bundlers
    and unbundlers to have the right number of terminals.
    Changing the order of the cluster was even worse since
    the diagrams may not bread, they might just access the
    wrong field instead.
    In many respects, an object is just another step along the
    same path. An object is a typedef that can have code
    associated with it for access -- maybe like Array and
    Cluster Tools. Some of the typedef contents might be
    publicly accessable, like now, while other elements are
    hidden, only available to the implementation of the
    typedef. That would force the user to use your functions
    to manipulate things rather than hacking away at the
    typedef contents. As an example, a LV string is really
    just a cluster of size and characters. Since the diagram
    can only modify the string using the string functions, you
    never get the size and characters out of synch. That is
    until you take it into LV generated code, a DLL or CIN
    where you have access to the inner fields.
    A related problem is that current typedefs are transparent
    to built-in LV functions. If your typedef is just some
    numbers, LV will be happy to perform arithmetic on your
    typedef. Maybe this is what you want, but if this doesn't
    make sense on your typedef, then your left with adding a
    Boolean or a string so that the arithmetic isn't allowed.
    Ideally, you would be able to state that = makes sense, >
    and < don't, + and - only operates on the first numeric, and
    * is something that you implement yourself. There would be
    some safeguards so that the user of your typedef, which
    includes you, wouldn't accidentally mangle the typedef
    contents.
    These may not seem like much at first, but they allow for
    much more abstraction and better encapsulation. Finally,
    there is a technique called inheritance that allows for
    similar objects to be acted on by common code in one
    location, and by specific code in another location depending
    on which type of object is actually there at runtime.
    This of usually done today by switching out on some inner
    tag and dealing with each type in its own diagram. This
    works fine until projects get large and teams get large.
    Inheritance is a different way of implementing the exact
    same thing that usually works much better for bigger teams
    and bigger projects.
    > 5- My opinion is that trying to implement OO in LabVIEW, is like trying
    > to
    Is this a fill-in-the blank question? It is difficult today
    because the LV language doesn't yet support OO very well.
    Early C++ was implemented on top of C using just a bunch
    of macros and the preprocessor to mangle the C++ back into
    C so that it could be compiled and run. Debugging was
    done on practically unreadable text that vaguely resembled
    your original code. By comparison, GOOP actually looks
    pretty good. It is written entirely on top of the current
    LV language and makes clever use of things like datalog
    refnums to make strict types.
    Over time I think GOOP will mature, and like typedefs,
    some users will come to rely on it in a big way.
    Other users will hopefully not even notice that anything
    changed. If their project grows in complexity and they
    need another tool to manage things, it will be just
    another feature that helps them to get useful things done.
    Greg McKaskle

  • Object Oriented Programming concepts

    Hi Friends,
    I need your help to understand the Object Oriented Programming concepts.
    Please help me…
    Thanks,
    Fl4syed

    Hi,
    We can learn oops concepts very easily.Refering some books and search this concepts in some websites related to it.I think the author Robert lafore of oops is one of the best way to learn oops concepts.

  • Object Oriented Programming features

    Hello,
    i want to know more about Object Oriented Programming features, actually i have basic knowledge on Polymorphism, abstraction, DataHidding, Encapsulation, Inheritance. I know the basic bookish definition of these, but can u people give me the definition in terms of java program or any definition which i can co relate with java program.
    ex. Class is an example of encapsulation.
    Thanks.

    RGEO wrote:Hello,
    i want to know more about Object Oriented Programming features, actually i have basic knowledge on Polymorphism, abstraction, DataHidding, Encapsulation, Inheritance. I know the basic bookish definition of these, but can u people give me the definition in terms of java program or any definition which i can co relate with java program.
    ex. Class is an example of encapsulation.
    Thanks.see if we talk about encapsulation ----which means data hiding....now this can b expalined by the following example:
    class Rect {
    protected int len,br;
    public void getdata()
    len=14;
    br=20;
    public int area()
    return len*br;
    class box extends Rect
    private int h;
    public void getdata()
    super.getdata();
    h=56;
    System.out.println("the height is :"+h);
    public int volume()
    return len*br*h;
    {color:#ff0000}class inheritance
    {color}
    {color:#ff0000}public static void main(String[] args)
    box obj=new box();
    obj.getdata();
    System.out.println("volume of box is:"+obj.volume());
    }{color}
    In the above example we are showing inheritance alongwith encapsulation and it goes like this:
    we are able to view the result through main methods i.e. we call our method in main method with the help of objects....so we can say that whatever a user is showing he is showing through main method and not showing the logic because when we complie it then we are only shown the result and not the logic behind it.......This is known as encapsulation----showing relevant features and hiding rest all the things.
    Edited by: Namrata.Kakkar on Jul 29, 2009 10:46 PM

  • Object oriented programming on PXI-System

    Greetings,
    i've developed some object-oriented LV classes, wich i've succesfully tested on my desktop pc. The next step would have been to test them on a PXI-controller. However, the LV 8.20 methods of object oriented programming seam to be incompatible to PXI-systems.
    All i'm getting is an broken arrow with an error message like that
    HardwareIOAnalog.lv.class:setTimingNP.vi
    Frontpanel-Anschluss 'HardwareIOAnalog in': Der Typ wird für das aktuelle Ziel nicht unterstützt (means: Type not supported by current target)
    Does that mean that object-oriented design is not supported in general by PXI, or is it depending on the type of the PXI-System. Is there an easy way around, or do i have to re-program all my classes to conventional (Sub)VIs?
    Help appriciated! ;-)
    Regards,
    Bennet Gedan
    Student (Electrical Engineering/Mechatronics)
    Darmstadt University of Technology
    Bennet Gedan
    Student (Electrical Engineering / Mechatronics)
    Darmstadt University of Technology

    Okay, thanks. Meanwhile I reprogramed the whole thing and set OOP aside (at least on the PXI-Target). It's a pity to loose some advantages of OOP, but it brougth me some interesting new programing techniques i could transfer to non OOP stuff.
    Regards,
    Bennet Gedan
    Student (Electrical Engineering / Mechatronics)
    Darmstadt University of Technology

Maybe you are looking for