2009-05-12 2 views
0

Если метод создает объект, и я вызываю метод из другого объекта, будет ли последний объект иметь доступ к свойствам и методам первого объекта?метод создает объект, и я вызываю метод из другого объекта

+0

Любой язык в частности? –

+0

Boo прав, если я вас правильно понимаю. Тем не менее, мы можем дать более четкий ответ, если вы включите примерный код (и сообщите нам, какой язык вы используете). –

+0

Ваш комментарий к моему отзыву предполагает, что вы используете MVC - это ASP.NET MVC или какой-то другой вкус? – BenAlabaster

ответ

0

Если оно возвращено/сохранено где-либо, будут доступны общедоступные поля и методы.

1

Существует некоторая посторонняя информация, которая может вас смутить.

Метод и объект (в данном случае) отсоединяются друг от друга. Итак, возникает вопрос: сохраняете ли вы созданный объект в области, к которой имеет доступ второй объект?

0

Редактировать: В свете смены тегов, этот ответ больше не уместен. Я оставил его, чтобы сохранить комментарии ...

Оригинал Ответ:

Как это ?:

public MyObject CreateObject() 
{ 
    return new MyObject() { FirstProperty = "Hello World" }; 
} 

public Main() 
{ 
    MyObject n = CreateObject(); 
    Console.WriteLine(n.FirstProperty); 
} 

Или это ?:

class Program 
{ 
    MyObject _myObject; 

    public void CreateObject() 
    { 
     _myObject = new MyObject() { FirstProperty = "Hello World" }; 
    } 

    public Main() 
    { 
     Console.WriteLine(_myObject.FirstProperty); 
    } 
} 

В любом из эти два случая, вы можете получить доступ к свойствам вашего объекта. Если это не то, что вы имели в виду, я точно не знаю, как ответить на ваш вопрос, и вам нужно будет уточнить.

+0

В Router, в методе, во включенном файле находится код контроллера. В модели и в представлении мне нужен доступ к свойствам и методам контроллера. В Router другим способом я хочу вернуть объект контроллера в модель и представление. Что теперь??? –

+0

Итак, вы используете ASP.NET MVC? – BenAlabaster

+0

Я не понимаю исходный код CakePHP, поэтому мне пришлось обратиться за помощью, чтобы настроить его все время. Плюс действительно не хватает социальных навыков, сообщество CakePHP перестало помогать мне. Теперь мне нужно работать с чистым PHP. –

0

Только в том случае, если метод содержит ссылку на объект, который он создает.

1

В маршрутизаторе в способе, в комплекте файл - это код контроллера. В модели и в представлении мне нужен доступ к свойствам контроллера и . В Router, в другом методе , я хочу вернуть объект к модели и виду. Что сейчас ??

Если я правильно понял вопрос, вы немного смущены MVC. Класс маршрутизатора является внутренним классом торта и никогда не должен никогда никогда не быть абсолютно никогда не измененным. И те "никогда не были" даже не скопированы, они действительно напечатаны.

Во-вторых, классы моделей даже не знают ничего, что называется контроллером. Контроллер использует модели, а не наоборот. Если ваша модель нуждается в чем-то от контроллера, передайте ее как параметр. Все, что за этим стоит, - всего лишь плохая конструкция.

Также можно вызвать действия контроллера с точки зрения, но сильно обескуражен. Контроллер - это тот, который готовят все данные для представления, поэтому просмотр не нуждается в доступе к контроллеру (есть исключения из этого, вне сферы действия этого вопроса).

Я рекомендую вам прочитать немного about MVC, cake's typical request и, по крайней мере, пройти через basic blog tutorial.

Смежные вопросы