我经常编写代码来生成一个对象,然后在静态类中使用静态方法来操作所述对象。
我错过了OOP的重点吗?我怎么知道我是不是在想面向对象的思想呢?我怀疑我是..。
发布于 2015-07-24 17:28:37
是的,您在编码中缺少OOP原则。OOP不是要承载原始类型,OOP是指有一个具有责任的对象(本质上是方法)。
把握原则是一个很好的开端,可以了解哪种方法属于OOP。
在OOP中,您希望将大多数实例视为具有职责和实例字段(实例特定变量)的对象。但是,有时(有时)您会发现需要有一个静态类,只要您确实确信这个类不需要实例,静态类就非常有效。但是,在你安顿下来创造一个对象之前,你要想--“我错过了一个对象吗?”
var alice = new Person("Alice");
ChangeName(alice, "John");
// Somewhere in your static code
function ChangeName(Person person, string name) {
person.name = name;
}var alice = new Person("Alice");
alice.ChangeName("John");
public class Person {
private _name;
public Person(string name) {
_name = name;
}
public void ChangeName(string name) {
_name = name;
}
}https://softwareengineering.stackexchange.com/questions/290720
复制相似问题