search
HomeBackend DevelopmentPHP TutorialPHP learning object-oriented courseware page 1/2_PHP tutorial

The main three characteristics of the object
The behavior of the object: what operations can be applied to the object, turning on the light and turning off the light are behaviors.
The shape of the object: how the object responds when those methods are applied, color, size, appearance.
Representation of objects: The representation of objects is equivalent to an ID card, specifically distinguishing the differences in the same behavior and status.

Object-oriented model
Object-oriented concept:
oop (object-oriented programming) can make its code more concise, easier to maintain and more reproducible
What is a class :
A class is a collection of objects with the same attributes and services. For example, people, books, ships, and cars all belong to the class. It makes a unified abstract description for the objects belonging to the class. In programming language A class is a separate program, and it should have a class name including attribute description and service parts.
What is an object:
An object is an entity in the system that describes objective events. It is a basic unit that constitutes the system. *Data and code are bundled in an entity*. An object consists of a set of properties and a set of behaviors that operate on this set of properties.
From an abstract point of view, an object is an abstraction of something in the problem domain or implementation domain. It reflects the information saved and the role played by the thing in the system: it is a set of attributes and an encapsulation body that has the authority to operate on these attributes. The objective world is composed of objects and the connections between objects.
The relationship between classes and objects:
The relationship between classes and objects is like the relationship between molds and castings. The result of the strength of the class is the object, and the abstraction of the object is the class. A class describes a group of people with the same characteristics. (property) and objects with the same behavior.

Classes, attributes and methods
Class syntax format defined in PHP:
class classname [optional attribute]{
public $property [=value];... //Use public Declare a public identifier and then give it to a variable. Variables can also be assigned values ​​

function functionname (args){ //Member functions in class methods
Code}...
//Class methods ( Member function)
}
Generate object (instantiation of class): $Object name=new classname();

Using the properties of the object
In a class, you can access a special When the variable is set or accessed through an operation in the class, the pointer $this is referenced using $this->name.
Generation of objects
After defining the class, use a new to declare it. Due to the object data Due to the encapsulation feature, the object cannot be directly accessed by the main program block, and the attributes and behavior functions defined in the class must be called through the object to indirectly achieve the purpose of accessing the data in the control class.

The relationship between objects and classes
The relationship between objects and classes:
Objects actually exist and occupy dynamic resources.
A class is a blueprint of an object and may occupy static resources.
Object attributes occupy dynamic resources
Class (static) attributes are actually "global variables" in the class namespace
Performance considerations:
Each object occupies separate data space
Increase The calling hierarchy may consume execution time
Method parameter form and transfer method
Method parameters can be basic data types, arrays and class objects.
Basic data type: Pass by value parameter
Array: Pass by value parameter
Class object: Pass by reference

Constructor
The constructor plays the role of initialization in the class
The generation method of the constructor is the same as other functions except that its name must be __construct().
Grammar format: function __construct(parameter){
. . . . . . . .
}
Example:
class Person{
public $name;
public $sex;
public $age;
function __construct($name,$sex,$age ){
echo "I am the constructor
";
$this->name=$name;
$this->sex=$sex;
$this-> ;age=$age;
}
Output result: Initialization
Destructor
When the object leaves its scope (for example, the function in which the object is located has been called), the system automatically executes the destructor . Memory should be released in the destructor before exiting.
Destructor__destruct The destructor does not have any parameters
Example: class person{
function _ _destruct()
{ echo "bye bye!"; }
}
$ a=new person();

Access type
public Public (public modifier) ​​Can be accessed both inside and outside the class
private (private modifier) ​​Can only be accessed within the class Internal access
protected Protected (protected member modifier) ​​Subclasses can access Not accessible outside the class

Three important features of oop
Encapsulation, inheritance, polymorphism
Encapsulation : Encapsulation is the combination of the properties and behavior of an object into an independent unit.
It takes two steps to encapsulate a class. The first step is to privatize a class. The second step is to use set and get to read and assign values.
The advantage is that it hides the implementation details of the class and makes it easy to add logic. Controllability, restricting unreasonable operations on attributes, making it easy to modify and enhance the maintainability of the code.

__get and __set
Generally speaking, it is more realistic to make classes private.
Two predefined functions are used to obtain and store values.
__get Get the value usually the value of the domain
__set Set the value usually the value of the domain
__call When calling a method that does not exist in an object, an error will occur call() This method handles this situation .

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/319090.htmlTechArticleThe main three characteristics of an object are the behavior of the object: what operations can be applied to the object, turning the light on and off is the behavior . The shape of the object: how the object responds when those methods are applied, color,...
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Dependency Injection in PHP: Avoiding Common PitfallsDependency Injection in PHP: Avoiding Common PitfallsMay 16, 2025 am 12:17 AM

DependencyInjection(DI)inPHPenhancescodeflexibilityandtestabilitybydecouplingdependencycreationfromusage.ToimplementDIeffectively:1)UseDIcontainersjudiciouslytoavoidover-engineering.2)Avoidconstructoroverloadbylimitingdependenciestothreeorfour.3)Adhe

How to Speed Up Your PHP Website: Performance TuningHow to Speed Up Your PHP Website: Performance TuningMay 16, 2025 am 12:12 AM

ToimproveyourPHPwebsite'sperformance,usethesestrategies:1)ImplementopcodecachingwithOPcachetospeedupscriptinterpretation.2)Optimizedatabasequeriesbyselectingonlynecessaryfields.3)UsecachingsystemslikeRedisorMemcachedtoreducedatabaseload.4)Applyasynch

Sending Mass Emails with PHP: Is it Possible?Sending Mass Emails with PHP: Is it Possible?May 16, 2025 am 12:10 AM

Yes,itispossibletosendmassemailswithPHP.1)UselibrarieslikePHPMailerorSwiftMailerforefficientemailsending.2)Implementdelaysbetweenemailstoavoidspamflags.3)Personalizeemailsusingdynamiccontenttoimproveengagement.4)UsequeuesystemslikeRabbitMQorRedisforb

What is the purpose of Dependency Injection in PHP?What is the purpose of Dependency Injection in PHP?May 16, 2025 am 12:10 AM

DependencyInjection(DI)inPHPisadesignpatternthatachievesInversionofControl(IoC)byallowingdependenciestobeinjectedintoclasses,enhancingmodularity,testability,andflexibility.DIdecouplesclassesfromspecificimplementations,makingcodemoremanageableandadapt

How to send an email using PHP?How to send an email using PHP?May 16, 2025 am 12:03 AM

The best ways to send emails using PHP include: 1. Use PHP's mail() function to basic sending; 2. Use PHPMailer library to send more complex HTML mail; 3. Use transactional mail services such as SendGrid to improve reliability and analysis capabilities. With these methods, you can ensure that emails not only reach the inbox, but also attract recipients.

How to calculate the total number of elements in a PHP multidimensional array?How to calculate the total number of elements in a PHP multidimensional array?May 15, 2025 pm 09:00 PM

Calculating the total number of elements in a PHP multidimensional array can be done using recursive or iterative methods. 1. The recursive method counts by traversing the array and recursively processing nested arrays. 2. The iterative method uses the stack to simulate recursion to avoid depth problems. 3. The array_walk_recursive function can also be implemented, but it requires manual counting.

What are the characteristics of do-while loops in PHP?What are the characteristics of do-while loops in PHP?May 15, 2025 pm 08:57 PM

In PHP, the characteristic of a do-while loop is to ensure that the loop body is executed at least once, and then decide whether to continue the loop based on the conditions. 1) It executes the loop body before conditional checking, suitable for scenarios where operations need to be performed at least once, such as user input verification and menu systems. 2) However, the syntax of the do-while loop can cause confusion among newbies and may add unnecessary performance overhead.

How to hash strings in PHP?How to hash strings in PHP?May 15, 2025 pm 08:54 PM

Efficient hashing strings in PHP can use the following methods: 1. Use the md5 function for fast hashing, but is not suitable for password storage. 2. Use the sha256 function to improve security. 3. Use the password_hash function to process passwords to provide the highest security and convenience.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Clair Obscur: Expedition 33 - How To Get Perfect Chroma Catalysts
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools