상속이란 객체의 특성을 물려받는 개념이다.
상속의 대표적 관계
#is-a 관계 : 아주 지극히 당연한 관계조건이다. ~~는 ~이다 라는 조건하에 이루어지는 상속으로 상위 클래스를 상속할경우 기능과 특성이 세밀해지며 작은 단위의 클래스를 형성할수 있게된다.
예)
- 경찰은 사람이다. : 경찰이 사람 클래스를 상속하는 경우.
- 자동차는 기계이다. : 자동차가 기계클래스를 상속하는경우.
등등...
#has-a 관계 : 소유적 관계이며 is-a 관계와는 또다른 상속의 개념이다. 상속 키워드를 사용해서 상속하는방법 뿐만이 아니라 맴버데이터로 객체나 포인터객체를 사용함으로써 포함하는 관계를 성립할수도 있다는 것이다.
예)
- 경찰은 권총을 소유한다. : 경찰 클래스내 데이터에 권총 클래스의 객체를 생성하는 경우.
등등...
대략.. 많은 경험이 없기때문에 여기까지 떠들고 코딩하러감 ㅇㅅㅇ
'프로그래밍'에 해당되는 글 52건
- 상속관계 (1) 2008/05/23
- 웹프로그래밍 프로젝트 ㅋㅋㅋ (2) 2008/05/02
- 내가 살아온 시간을 계산하는 웹 프로그램 ㅋㅋ (2) 2008/04/26
- php 함수 (2) 2008/04/26
- php 변수와 배열과 약간의 함수들 2008/04/23
$val = mktime($hour , $minute , $second , 5 , 18 , 1988);
$since = mktime();
$result = $since - $val;
print "내가 살아온 시간[초단위] : " . $result;
$y = $d = $h = $m = 0;
while( $result > 60 ){
if($result > 31536000){
$y++;
$result -= 31536000;
}
else if($result > 86400){
$d++;
$result -= 86400;
}
else if($result > 3600){
$h++;
$result -= 3600;
}
else if($result > 60){
$m++;
$result -=60;
}
}
print "<p>";
print $y ."년" . $d . "일" . $h . "시간" . $m ."분". $result ."초 살았습니다 ㅠ";
?>
댓글을 달아 주세요
string strtoupper(string) : 문자열을 대문자로 변환한뒤 string 형으로 리턴한다.
string strtolower(string) : 문자열을 소문자로 변환한뒤 string 형으로 리턴한다.
string ucfirst(string) : 문자열의 첫번쩨 문자를 대문자로 변환한뒤 string형으로 리턴한다.
string ucwords(string) : 문자열의 단어에 첫번째 문자를 대문자로 변환한뒤 string형으로 리턴한다.
string parse_url(string) : 문자열을 scheme , host , path , query의 키값을 적용한 연관배열을 리턴한다.
string var_dump(string) : 인자값으로 어떤 자료형이든 받을수있으며 여러 변수의 값을 알고자할때 사용함.
ex)parse_url(string)함수를 통한 연관배열을 알고싶을경우 var_dump($returned value from parse_url());
string parse_str(string) : 문자열을 변수와 값으로 변환.
ex) $str = "name=lejewk&age=21"; //&는 변수와 변수사이를 구분짓는 구분자같음 -ㅅ-;;
parse_str($str); //문자열에서 변수와 값을 분리.
print $name . $age; //출력이죠 ㅋㅋ
string strrev(string) : 문자열을 거꾸로 뒤집은뒤 string 형으로 리턴한다.
string substr(string , int , int) : 인자값이 2개일경우와 3개일경우가 존재한다. 함수오버로딩임.
인자값이 3개일경우 : 두번째 인자값+1 부터 세번째 인자값까지의 문자열을 string형으로 리턴한다.
인자값이 2개일경우 : 두번쩨 인자값+1부터 문자열의 끝까지를 string형으로 리턴한다.
두번쩨 인자값이 음수일경우 문자열의 마지막부터 시작하며 +1 뭐 이딴거엄슴 ㅇㅅㅇ
세번쩨 인자값이 음수일경우 문자열의 마지막부터 숫자가 적용되며 +1 뭐 이딴거엄슴.
string trim(string) : 문자열의 처음과 끝의 공백을 삭제후 string 형으로 리턴한다.
덤으로 ltrim(string)과 rtrim(string) 이있다. 왼쪽 오른쪽 공백만 삭제하고 리턴하는 함수.
nl2br(string) : 문자열의 개행자[\n]을 tag의 <br>로 치환해준다.
int strcmp(string,string) : 문자열의 크기를 아스키코드값으로 비교. 같으면 0 , 처음문자열이 크면 1, 뒤 문자열이 크면 -1반환
int strlen(string) : 널문자를 제외한 문자열의 길이를 리턴한다.
array getdate(int) : 원하는 숫자만큼의 시간을 연관배열로 리턴한다. 각 키값은 아래와 같다.
seconds[초] , minutes[분] , hours[시간] , mday[일]
wday[숫자로 나타낸 요일(0:일요일~6:토요일)] , mon[숫자로 나타낸 달]
year[연도] , yday[그해 연도로부터 지금까지 지난 날]
weekday[문자로 표시된 요일] , month[문자로 표시된 달]
인자값이 없을경우 현제 시간을 연관배열로 리턴한다. 함수 오버로딩이다.
int mktime($hour , $minute , $second , $month , $day , $year) : 1970년 1월 1일부터 현제까지 흐른 시간을 초단위로 리턴한다. 인자값이 없을경우에도 함수가 작동하므로 함수오버로딩이 가능하며, 인자값을 줄경우 대략 6~7년전 시간을 리턴하기때문에 인자값을 주지않는것이 좋다.
int mt_srand(int) : 무작위 seed표를 설정하는 함수.
매번 다른 시드값을 갖고싶다면 인자값으로 microtime()함수에 1000이상을 곱한뒤 더블형으로 케스팅한값을 주면된다. 대략 인자값없는 rand함수로 출력할때 같은값이 표시될수있다. 그래서 mktime()함수를 인자값으로 주면 매번 다른 값이 출력된다. mktime()쪽이 더 좋은듯..
int mt_rand(int , int) : 첫 인자값~ 두번째 인자값 사이의 정수1개를 무작위 추출하여 반환한다.
인자값을 주지않을경우 0~max값 사이의 정수 1개를 무작위 추출하여 반환한다. 함수 오버로딩.
댓글을 달아 주세요
php변수
php에서 변수를 선언할때 달러표시[$]를 붙인뒤 변수명을 적어주기만하면된다. 그렇다면 자료형은 어떻게 처리할까? 이부분은 프로그래머가 그렇게 중요하게 여기지 않아도 된다. 왜냐하면 php는 형강도가 낮기때문에 대입하는 즉시 알아서 결정되기때문이다.
$val = 10; //$val은 int형
$val = "lejewk" //$val은 문자열
같은 변수임에도 불구하고 이런 대입이 가능한것은 형강도가 낮기 때문이다.
php 배열
1차원 배열 생성방법
$val = array(1,2,3,4,5,6,7,8,9,0);
2차원 배열 생성방법
php type
$val = array(
array(1,2,3),
array(4,5,6),
array(7,8,9));
c언어에서는 대게 괄호의 콤마를 중심으로 행이 결정되는데 php의 경우는 array를 적어줌으로써 행이 내려가는듯하다. php역시 배열의 원소를 가르킬때 $value[i]처럼 가르킨다. 스타일이 c와 같기때문에 이렇게 표시할수가 있다고한다. 2차원에서도 역시 님의 생각대로 ㅋㅋ
php는 특이하게도 배열의 행을 불러올수있는 키값을 설정할수있다. c언어의 1차원 배열에서 행을 불러올때의 키값은 array[key]이지만 php는 이 key값을 직접 설정할수 있다.
$val = array(
"men" => "unit",
"tank" => "men"
);
와 같으며 배열의 원소값을 얻고자 할땐
$result = $val[men]처럼 작성하면 $result에 원소값이 들어간다.
!배열에 원소를 추가할때는 이렇게 작성하라.
$val[key name] = "원소값";
!배열에서 원소를 삭제할땐 이렇게 작성하라.
unset($val[key]); //이것은 함수이다.
php 함수
foreach($array as $..)함수
배열과 맞물려서 사용하는함수인듯하다. 앞에 정의된 배열의 한 원소를 뒤에 정의된 변수에 하나씩 대입한뒤 아랫줄로 내려가서 실행을하고 다시 함수 머리로 돌아오고 이 과정을 반복한다. 마치 for문을 보는듯하나 실제로 포문과 별로 다를게없다 -ㅅ-;
array_diff($array1 , $array2)함수
첫번째 배열에 있는 원소가 두번째 배열에 있는 원소에 없을경우 그 원소들을 모두 모아서 array형으로 리턴한다.
sort($array)함수
각 원소를 아스키코드값의 오름차순으로 정렬한다.
ex) a1,a2,a11,a12 의 원소가 있다면 sort후 a1,a11,a12,a2 처럼 바뀐다.
natsort($array)함수
각 원소를 숫자 중심으의 오름차순으로 정렬한다.
ex) a1,a11,a12,a2 의 원소가 있다면 natsort후 a1,a2,a11,a12처럼 바뀐다.

댓글을 달아 주세요
제피트할아버지는 피노키오를 소유한다.
피노키오는 큰코를 소유한다.
제피트할아버지는 큰 코를가진 피노키오를 소유하므로
이중상속인가요?