Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> oop początki...
Mavestinus
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 6.04.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Witam!
Zaczynam właśnie pisać obiektowo w php (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Na początku napisałem taki kod:[php:1:0382d19591]<?php
class moja{
var $txt;
function dodaj($co){
$this->txt .= $co;
}

function wypisz(){
echo $this->txt;
}

function dlugosc(){
echo('<br>Tekst ma długość: ' . strlen($this->txt) . ' znaków.');
}
}
$obiekt=new moja;
$obiekt->dodaj('tekst');
$obiekt->wypisz();
$obiekt->dlugosc();
?>[/php:1:0382d19591]I teraz mam kilka pytań co do tego kodu:
- czy da się go zapisać 'bardziej' obiektowo?
- czy lepiej jest wszystko przerzucić na funkcje czy lepiej operować na 'zwykłych' funkcjach (np. lepiej użyć funkcji wypisz() czy echo $obiekt->txt;)?
Sorry za lamerskie pytania ale oop to na razie dla mnie czarna magia...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
scanner
post
Post #2





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Mam dwie uwagi, do powyzszego kodu.
1. Brak konstruktora
2. Brak przygotoania do ew. użycia szablonów.

Jeśłi mogę zaproponować:[php:1:c6db3010ea]<?php
class String
{
var
$strString;

function String()
{
$this->strString = '';
}

function Add( $strStringToAdd )
{
if( $this->GetLength() == 0 )
{
$this->strString = $strStringToAdd;
}
else
{
$this->strString .= $strStringToAdd;
}
}

function Get()
{
return $this->strString;
}


function GetLength()
{
return strlen( $this->strString );
}

}

$String = new String();
$String->strString = 'Foo';
echo $String->GetLength();
echo '<br />';
$String->Add( 'Bar' );
echo 'Nowy string o tresci '.$String->Get().' ma dlugosc: '.$String->GetLength().' znakow.';
echo '<br />';
?>[/php:1:c6db3010ea]Zwróć uwagę na dwukrotne użycie metody GetLength - w Twoim kodzie takie działanie nie jest możliwe.

A zgadzająć się z shimą, wszystkim "komentatorom" pragnę przypomnieć, zę naukę zaczyna się od podstaw (czasem przekombinowanych, ale przynajmneij coś wyjaśniających).
W szkołach muzycznych uczą grać gamy na początek a nie koncertów symfonicznych.
Go to the top of the page
+Quote Post

Posty w temacie
- Mavestinus   oop początki...   13.05.2004, 20:12:22
- - Aiker   Ta klasa jest moim zdaniem dobrze napisana pod wzg...   13.05.2004, 20:32:32
- - evo   Na poczatek to sie zastanow dokladnie po co ci te ...   13.05.2004, 20:40:10
- - Mavestinus   Hmmm.... radzisz mi żebym został przy programowani...   13.05.2004, 20:53:19
- - dag   Nikt Ci nie radzi abyś pozostał przy strukturalnym...   13.05.2004, 21:01:18
- - nexis   Re: oop początki...   14.05.2004, 07:59:55
- - Mavestinus   O to właśnie mi chodziło - czy przy większym kodzi...   14.05.2004, 12:44:30
- - shima   CytatO to właśnie mi chodziło - czy przy większym ...   14.05.2004, 13:31:56
- - scanner   Mam dwie uwagi, do powyzszego kodu. 1. Brak konstr...   17.05.2004, 09:01:46
- - Mavestinus   Dzięki scanner i shirma - wy najbardziej mi pomogl...   17.05.2004, 21:29:04
- - tsharek   Cytat<?php function Add( $strStringToAdd ) ...   18.05.2004, 19:50:11
- - dag   Ale tu raczej chodziło o jakieś bardziej zaawansow...   18.05.2004, 21:00:13
- - tsharek   do tego raczej przydał by się inny przykład a nie ...   18.05.2004, 21:29:49
- - scanner   Cytat(...)takie coś co jest niezoptymalizowane (.....   18.05.2004, 22:35:56
- - tsharek   nic na siłę:)   18.05.2004, 22:46:01
- - scanner   Do czego pijesz? Pamietaj, ze przykłady mogą być i...   19.05.2004, 06:14:27
- - dag   Ja wczoraj pisząc swojego posta o bezpieczeństwie ...   19.05.2004, 09:28:18
- - tsharek   CytatInna sprawa, ze czytanie naszych komentarzy o...   19.05.2004, 09:39:41


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 18:38