我想学习PHP并希望获得关于OOP和Procedural的想法.我阅读了一些关于OOP和Procedural的其他博客和教程,但我仍然无法理解这种方法.
OOP与程序
我真的想知道两者的代码差异,我对OOP的理解是你创建一个类似的,它可以访问.(我不知道如果那是正确的).
谢谢!
我在高中,计算机培训机构等教授C++约两年.在教授了关于变量,数组,结构,函数的基础知识后,我总是以传统的例子开始面向对象的例子,如下所示:
class Person {
public:
Person();
~Person();
char* getFirstName(); //we can use std::string instead of char* in optimization part
char* getLastName();
char* getFullName();
int getAge();
bool getGender();
void printFullProfile();
void setFirstName(char*);
void setLastName(char*);
void setAge(unsigned int);
void setGender(bool);
void setGender(char);//f for female, m for male.
private:
char* first_name; //or std::string but i prefer to use pointers in the beginning.
char* last_name;
unsigned int age;
bool gender; //ladies 1(st) , male 0
}
Run Code Online (Sandbox Code Playgroud)
然后完成这个Person类并教导新的东西,例如为什么getter和setter方法是邪恶的,并通过创建其他类(如学生,员工,主持人等)避免访问器,继承,多态,必要的OOP技能和概念.
[编辑]:并使这些类有助于解决编程问题.(比如计算每个Employee对象的工资,学生标记平均值,以及许多其他人)
另一个基本的例子是Vehicle类,Shape类等. …
在向没有编程背景的人教授第一语言的时候,我很难定义OOP,尽管我更喜欢OOP,我怎样才能为那些编程经验很少(或为零)的人定义OOP?
我已经写了大约六年的PHP了,并且我已经到了一点,我觉得我应该做更多的事情来编写更好的代码.我知道面向对象的代码是要走的路,但我无法理解这个概念.
任何人都可以解释任何白痴都可以理解,OO以及它如何在PHP中工作或指向我的白痴指导教程?
在阅读一些编程书籍时,我注意到作者说,在OOP中,你可能会在理解OOP的主要思想时遇到一些困惑.
天啊,是的!我有些困惑.你有没有相同的东西让程序员(甚至是经验丰富的程序员)感到困惑?!
如果你拥有它,你怎么能打败它?!
谢谢
我正在寻找一种向初学者描述OO的好方法,虽然是类比.
目前我把一个班级比作一个购物清单,一个装满物品的购物车到一个物体.但我觉得这有点令人困惑.
优选地,类比将在代码示例(Ruby)中很好地反映出来,目前我有这个,并且它感觉很笨拙.
# First we create a class
class Shopping
# The items method gives us a list of items in the Shopping
def items
["apple", "cereal", "flour"]
end
end
# Create a new Shopping, called basket
basket = Shopping.new
# ask the basket what items it has
basket.items #=> ["apple", "cereal", "flour"]
Run Code Online (Sandbox Code Playgroud)