* inerface status
*----------------------------------------------*
*
*------------------------------------------------*
interface status.
methods write.
endinterface. "status
*-----------------------------------------------*
* class couner definition
*------------------------------------------------*
*
*--------------------------------------------------*
class counter definition.
public section.
interfaces status.
methods : set importing value(set_value) type i,
increment,
get exporting value(get_value) type i.
private section.
data count type i.
endclass. "counter DEFINITION
*-------------------------------------------------*
* class counter implementation
*--------------------------------------------------*
*
*--------------------------------------------------*
class counter implementation.
method status~write. "인터페이스 함수는 ~로 표시
write: / 'count in counter is ...' .
endmethod. "status~write
method set.
count = set_value.
endmethod. "set
method get.
count = get_value.
endmethod. "get
method increment.
add 1 to count.
endmethod. "inclrement
endclass. "counter implementation
data cnt type ref to counter. "counter 클래스 의 cnt.
data number type i value 5.
start-of-selection.
create object cnt. " c의 counter cnt = new counter() 와 같다. 이걸 2줄로 만든것
call method cnt->set EXPORTING set_value = 30.
do 5 times.
call method cnt->increment.
enddo.
call method cnt->status~write.
위의 구문에서 set imporitng 과 get exporting 파라메터에 대해서 구문과 연동해서 설명부탁드립니다.
그리고 data cnt type ref to counter. 부분에서 cnt 가 public section이 아닌 private section의 count를 참조하는지도 좀알려주셨으면 합니다.