Invisible Rover 's Blog :D ::

'프로그래밍'에 해당되는 글 52건

  1. 상속관계 (1) 2008/05/23
  2. 웹프로그래밍 프로젝트 ㅋㅋㅋ (2) 2008/05/02
  3. 내가 살아온 시간을 계산하는 웹 프로그램 ㅋㅋ (2) 2008/04/26
  4. php 함수 (2) 2008/04/26
  5. php 변수와 배열과 약간의 함수들 2008/04/23

상속관계

from 프로그래밍/C / C++ 2008/05/23 21:26

상속이란 객체의 특성을 물려받는 개념이다.

상속의 대표적 관계
#is-a 관계 : 아주 지극히 당연한 관계조건이다. ~~는 ~이다 라는 조건하에 이루어지는 상속으로 상위 클래스를 상속할경우 기능과 특성이 세밀해지며 작은 단위의 클래스를 형성할수 있게된다.

예)
- 경찰은 사람이다. : 경찰이 사람 클래스를 상속하는 경우.
- 자동차는 기계이다. : 자동차가 기계클래스를 상속하는경우.
등등...

#has-a 관계 : 소유적 관계이며 is-a 관계와는 또다른 상속의 개념이다. 상속 키워드를 사용해서 상속하는방법 뿐만이 아니라 맴버데이터로 객체나 포인터객체를 사용함으로써 포함하는 관계를 성립할수도 있다는 것이다.
 
예)
- 경찰은 권총을 소유한다. : 경찰 클래스내 데이터에 권총 클래스의 객체를 생성하는 경우.
등등...


대략.. 많은 경험이 없기때문에 여기까지 떠들고 코딩하러감 ㅇㅅㅇ

댓글을 달아 주세요

  1. cocy 2008/05/24 20:22  address  modify / delete  reply

    제피트할아버지는 피노키오를 소유한다.

    피노키오는 큰코를 소유한다.

    제피트할아버지는 큰 코를가진 피노키오를 소유하므로

    이중상속인가요?

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.
<?
    $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 ."초 살았습니다 ㅠ";
?>


사용자 삽입 이미지

댓글을 달아 주세요

  1. BlogIcon cocy 2008/04/28 23:29  address  modify / delete  reply

    참고했슴..



    협박땜에 리플담


    20년이나 지났는데 제피트할아버지는 잘계심? 컄ㄱ컄갸

php 함수

from 프로그래밍/PHP / HTML 2008/04/26 17:33

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개를 무작위 추출하여 반환한다. 함수 오버로딩.

댓글을 달아 주세요

  1. BlogIcon 강철지크 2008/04/28 14:57  address  modify / delete  reply

    음... 쓸만한데요... 근데 막상 계산해보면 실제 쓰고 있는 나이보다 적게나오네요.

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처럼 바뀐다.

댓글을 달아 주세요