Перейти к публикации
  • Сейчас на странице   Всего пользователей: 2   (0 пользователей, 2 гостя)

Hed-kun

Программирование, т. 6

Рекомендованные сообщения

(изменено)

примитивный вопрос, но все же.

в плюсах есть конструктор копирования, который я могу переопределить под свои нужды.

в шарпе, если я правильно понял, такого нет.

т.е. его нужно реализовывать методом с перегрузкой оператора присвоения?

как я понял, при попытке присвоения между двумя экземплярами одного простенького класса, происходит копирование адреса/адресов памяти полей класса и на выходе оба экземпляра ссылаются на один объект в памяти (второй, как я понимаю, трется сборщиком мусора).

а нужно именно копирование значений полей


Изменено пользователем mixogen

потому что дота командная игра, и каким бы ты класным игроком не был, среди 4 уебков ты становишся 5м.
RTZ Cycle

 

uMaM2Uh.jpg

 

Поделиться сообщением


Ссылка на сообщение
(изменено)
Ни разу не гуру шарпа, но вроде гораздо лучше вместо перегрузки присвоения, реализовать у класса метод 



ownType Clone()
{
    var newObj = new ownType();
    newObj.field = this.field;
    ...
    return newObj;
}


Изменено пользователем .felix

Поделиться сообщением


Ссылка на сообщение
(изменено)

Гайз, подскажите как добавить элемент массива php

http://pastebin.com/DGTyP8z4

в месте после 

    1.             Yii::$app->user->isGuest ? (
    2.                 ['label' => 'Login', 'url' => ['/site/login']]

взял из yii2

 

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

вообще не пойму как этот короткий if работает  :zloy:


Изменено пользователем Edgarchik

Скрытый текст

gu6abyB.png.079487d6a25add9b07b5e15ea62fb929.png

 

Поделиться сообщением


Ссылка на сообщение
(изменено)

А не, хуйню написал.


 


Изменено пользователем aac

 

 

Поделиться сообщением


Ссылка на сообщение

 

Ни разу не гуру шарпа, но вроде гораздо лучше вместо перегрузки присвоения, реализовать у класса метод 

ownType Clone() 
{
    var newObj = new ownType();
    newObj.field = this.field;
    ...
    return newObj;
}

 

это альтернатива. спасибо конечно за ответ, но интересует именно конструктор копирования с++

судя по тому, что отвечают поисковики, только собственная реализация метода с перегрузкой присвоения


потому что дота командная игра, и каким бы ты класным игроком не был, среди 4 уебков ты становишся 5м.
RTZ Cycle

 

uMaM2Uh.jpg

 

Поделиться сообщением


Ссылка на сообщение

по твоим постам нихуя не понять что тебя интересует

Поделиться сообщением


Ссылка на сообщение
(изменено)

Гайз, подскажите как добавить элемент массива php

http://pastebin.com/DGTyP8z4

в месте после

Yii::$app->user->isGuest ? ([
                ['label' => 'Login', 'url' => ['/site/login']]
взял из yii2

 

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

вообще не пойму как этот короткий if работает  :zloy:

 

Никак, можешь только вынести выше и сделать нормальный иф.

 

 

<?php
	$items = [
            ['label' => 'Home', 'url' => ['/site/index']],
            ['label' => 'About', 'url' => ['/site/about']],
            ['label' => 'Contact', 'url' => ['/site/contact']],
        ];
	if (Yii::$app->user->isGuest) {
		$items[] = ['label' => 'Login', 'url' => ['/site/login']];
		$items[] = ['label' => 'Novaya hueta', 'url' => ['/lol']];
	} else {
		$items[] =
                '<li>'
                . Html::beginForm(['/site/logout'], 'post')
                . Html::submitButton(
                    'Logout (' . Yii::$app->user->identity->username . ')',
                    ['class' => 'btn btn-link logout']
                )
                . Html::endForm()
                . '</li>'
	}
    echo Nav::widget([
        'options' => ['class' => 'navbar-nav navbar-right'],
        'items' => $items,
    ]);

 


Изменено пользователем DeadMage

Поделиться сообщением


Ссылка на сообщение

блять рот ебал jdbc драйвера

на парочке селектов - ваще похуй на закрытие стейтментов и резалтсетов

а как селектов доходит до 200 и выше - так пизда идет с этими курсорами и shared pool memory БД

приходится в "ручную" закрывать все гавно после каждой выборки

 

кто-нибудь с гибернейтом работал?

вот это поворот. приходится в ручную закрывать анменеджд ресурсы.

как ты еще в квартире дверь можешь закрывать в ручную

примитивный вопрос, но все же.

в плюсах есть конструктор копирования, который я могу переопределить под свои нужды.

в шарпе, если я правильно понял, такого нет.

т.е. его нужно реализовывать методом с перегрузкой оператора присвоения?

как я понял, при попытке присвоения между двумя экземплярами одного простенького класса, происходит копирование адреса/адресов памяти полей класса и на выходе оба экземпляра ссылаются на один объект в памяти (второй, как я понимаю, трется сборщиком мусора).

а нужно именно копирование значений полей

у меня когда возникает необходимость глубокого копирования - я просто сериализирую объект во что удобнее и потом десериализирую назад в объект.

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


Колы я выросту - то хочу буты такым як я

5c8bbc85b99e.gif

 

годные смайлы

Поделиться сообщением


Ссылка на сообщение

Котаны, заканчиваю ИТ вуз и встал вопрос куда по карьере дальше идти, есть вариант углубится в программинг типо стать джава/си разработчиком, либо пойти в сферу бизнесс-информатики в биг4 и заниматься анализом и контролем рисков и тд. Что лучше для карьерного роста, ведь если я пойду в биг4 то вряд ли уже смогу стать прогером, хотя и для резюме работа в биг4 пиздецки какой ++++.

Кто что думает? Подскажите советом

Поделиться сообщением


Ссылка на сообщение
(изменено)

Котаны, заканчиваю ИТ вуз и встал вопрос куда по карьере дальше идти, есть вариант углубится в программинг типо стать джава/си разработчиком, либо пойти в сферу бизнесс-информатики в биг4 и заниматься анализом и контролем рисков и тд. Что лучше для карьерного роста, ведь если я пойду в биг4 то вряд ли уже смогу стать прогером, хотя и для резюме работа в биг4 пиздецки какой ++++.

Кто что думает? Подскажите советом

 

я бы наверное в консалтинг пошел, если не аутист и умеешь с людьми базарить.

насчет сможешь стать прогером, то не стал бы такие выводы делать, если не понравится до 30 лет всегда успеешь вернуться, а в биг4 все-таки телега пожирнее будет


Изменено пользователем almalexray

Поделиться сообщением


Ссылка на сообщение

 


вот это поворот. приходится в ручную закрывать анменеджд ресурсы.

 

:trollface: 

ну я говорил, что при 1-10 допустим запросах - ничего не делать с ними - норма, ибо это никак не сказывалось

а как потребовалось 300 запросов - пришлось глубже понять, что там происходит  :nate:


:buba:

ни мало ни много, а много и мало

Поделиться сообщением


Ссылка на сообщение

Вообще мне показалось что ит аудит и консалтинг довольно интересная тема, я так понял что прям пиздец каким спецом в знании языков программирования не надо быть, но в то же время общен понимание ит сферы требуется, и с людьми всяко поинтереснее оьщаться и пиздеть чем проги хуярить 24/7.

Посмотрим, надеюсь возьмут, ну и да все же биг4 в резюме эт пиздец какой плюс, а есть ли на форуме те кто работают в биг4 или в топ ит компаниях, типо касперского/мелкософт/гугол??

Поделиться сообщением


Ссылка на сообщение

 

вот это поворот. приходится в ручную закрывать анменеджд ресурсы.

 

:trollface: 

ну я говорил, что при 1-10 допустим запросах - ничего не делать с ними - норма, ибо это никак не сказывалось

а как потребовалось 300 запросов - пришлось глубже понять, что там происходит  :nate:

 

вообще не понимаю зачем при автоматизации иметь дело с базой

Вообще мне показалось что ит аудит и консалтинг довольно интересная тема, я так понял что прям пиздец каким спецом в знании языков программирования не надо быть, но в то же время общен понимание ит сферы требуется, и с людьми всяко поинтереснее оьщаться и пиздеть чем проги хуярить 24/7.

Посмотрим, надеюсь возьмут, ну и да все же биг4 в резюме эт пиздец какой плюс, а есть ли на форуме те кто работают в биг4 или в топ ит компаниях, типо касперского/мелкософт/гугол??

на сколько мне известно (честно говоря догадки) аудиторы с людьми дела не имеют. вместо 40 часов в неделю за компом будешь проводить часов 60+ за документами


Колы я выросту - то хочу буты такым як я

5c8bbc85b99e.gif

 

годные смайлы

Поделиться сообщением


Ссылка на сообщение

Объясните плес дауну смысл интерфейсов в шарпе?

форумы читал, все равно не пойму(даун).


потому что дота командная игра, и каким бы ты класным игроком не был, среди 4 уебков ты становишся 5м.
RTZ Cycle

 

uMaM2Uh.jpg

 

Поделиться сообщением


Ссылка на сообщение

затем же что и во всех других языках?

 

наследовать интерфейс == иметь какое-то конкретное свойство

Поделиться сообщением


Ссылка на сообщение
(изменено)

что я не пойму.

допустим есть некий интерфейс с сигнатурой одного метода

public interface ISample

{

int SampleMethod(int a, int b)

}

Есть некий класс, который наследует этот интерфейс:

public class SampleClass : ISample
{
...
public int SampleMethod (int a, int b)
{
...
}
}

И вот например такой же класс, без наследования. Есть ровно такой же метод, с такой же реализацией:

public class SampleClass
{
...
public int SampleMethod (int a, int b)
{
...
}
}

В чем разница, какая польза?

Вот в литературе показывается как то вот так. Я не вижу никакого смысла в его использовании, только лишний код.

Могу предположить, что если ты подключил интерфейс, ты будешь обязан реализовывать все его методы и свойства, больше ничего не пойму пока


Изменено пользователем mixogen

потому что дота командная игра, и каким бы ты класным игроком не был, среди 4 уебков ты становишся 5м.
RTZ Cycle

 

uMaM2Uh.jpg

 

Поделиться сообщением


Ссылка на сообщение
(изменено)

тем что интерфейс может быть реализован десятью разными классами которые имеют какое-то одно свойство?

и это основа для полиморфизма

 

в C# есть интерфейс IComparable

его наследует всё что можно сравнить, класс цифр, класс целых цифр, класс цифр с плавающей точкой, класс члена и даже класс доски морского боя если ты придумаешь как их сравнивать друг с другом

 

это значит что имея список элементов класса которые реализовали этот интерфейс ты можешь его сортировать, искать минимум максимум етц


Изменено пользователем TheDeadSkin

Поделиться сообщением


Ссылка на сообщение
(изменено)

Все равно не понимаю

Если я, вместо наследования этого IComparable, создам в своем классе Sample метод bool comparable(type a, type b), что изменится?

 

Я наверное пропущу пока, может позже дойдет


Изменено пользователем mixogen

потому что дота командная игра, и каким бы ты класным игроком не был, среди 4 уебков ты становишся 5м.
RTZ Cycle

 

uMaM2Uh.jpg

 

Поделиться сообщением


Ссылка на сообщение
(изменено)

представь что есть метод, назначение которого заключается в том, чтобы сделать пиздато. и на вход этот метод  допустим требует парочку IComparable, чтобы их там у себя внутри посравнивать, что то с ними поделать и в итоге сделать пиздато. если ты создал свой класс и он имплементит этот несчастный IComparable, то впоследствии какой нибудь другой разработчик, пользующийся этим твоим классом, будет способен сделать с помощью него пиздато, запихнув парочку инстансов твоего класса в тот самый метод.

но если ты просто сделаешь свой класс, не имплементящий IComparable, но повторяющий его функционал, то инстансы этого класса в тот супер метод уже не полезут, потому что на вход он ждет именно IComparable, так что пиздато сделать уже не получится.

 

и вообще, когда ты встречаешь класс, который реализует какой то интерфейс, ты сразу же понимаешь какие функции он гарантированно выполняет. если тебе попался класс Shit, имплементящий IComparable, то ты сразу же понимаешь что говно можно сравнивать между собой, а в последствии использовать общие методы для сортировки говна, нахождения самого вонючего и так далее. но если тебе дали MyShit, который просто сам по себе, то ты уже сразу не знаешь что он точно может. и даже если он может всё тоже самое, что может IComparable, то тебе все равно придется изобретать велосипеды и переписывать кучу других методов именно под этот MyShit, потому что те уже написанные методы, работающие с IComparable, работать с MyShit не будут.


Изменено пользователем AskMe-
mixogen и Kant понравилось это

Лишь ощутив баттхерт до конца, мы обретаем свободу

bf4ffc239860.png

Поделиться сообщением


Ссылка на сообщение

попробую ответ аскмеха уложить в 2 строчки

 

Все равно не понимаю

Если я, вместо наследования этого IComparable, создам в своем классе Sample метод bool comparable(type a, type b), что изменится?

 

Я наверное пропущу пока, может позже дойдет

 

разница в том что интерфейс даёт 1) стандартизацию 2) гарантии

если ты не юзаешь интерфейс, то какая-нибудь рандомная дженерик коллекция не знает есть ли в твоём классе этот метод , а если юзаешь то выражение "x instanceof IComparable" (или как там оно) знает и даст тебе точный ответ

mixogen понравилось это

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...