Search Results

Search found 3120 results on 125 pages for 'php5 oop'.

Page 40/125 | < Previous Page | 36 37 38 39 40 41 42 43 44 45 46 47  | Next Page >

  • Explicit method tables in C# instead of OO - good? bad?

    - by FunctorSalad
    Hi! I hope the title doesn't sound too subjective; I absolutely do not mean to start a debate on OO in general. I'd merely like to discuss the basic pros and cons for different ways of solving the following sort of problem. Let's take this minimal example: you want to express an abstract datatype T with functions that may take T as input, output, or both: f1 : Takes a T, returns an int f2 : Takes a string, returns a T f3 : Takes a T and a double, returns another T I'd like to avoid downcasting and any other dynamic typing. I'd also like to avoid mutation whenever possible. 1: Abstract-class-based attempt abstract class T { abstract int f1(); // We can't have abstract constructors, so the best we can do, as I see it, is: abstract void f2(string s); // The convention would be that you'd replace calls to the original f2 by invocation of the nullary constructor of the implementing type, followed by invocation of f2. f2 would need to have side-effects to be of any use. // f3 is a problem too: abstract T f3(double d); // This doesn't express that the return value is of the *same* type as the object whose method is invoked; it just expresses that the return value is *some* T. } 2: Parametric polymorphism and an auxilliary class (all implementing classes of TImpl will be singleton classes): abstract class TImpl<T> { abstract int f1(T t); abstract T f2(string s); abstract T f3(T t, double d); } We no longer express that some concrete type actually implements our original spec -- an implementation is simply a type Foo for which we happen to have an instance of TImpl. This doesn't seem to be a problem: If you want a function that works on arbitrary implementations, you just do something like: // Say we want to return a Bar given an arbitrary implementation of our abstract type Bar bar<T>(TImpl<T> ti, T t); At this point, one might as well skip inheritance and singletons altogether and use a 3 First-class function table class /* or struct, even */ TDictT<T> { readonly Func<T,int> f1; readonly Func<string,T> f2; readonly Func<T,double,T> f3; TDict( ... ) { this.f1 = f1; this.f2 = f2; this.f3 = f3; } } Bar bar<T>(TDict<T> td; T t); Though I don't see much practical difference between #2 and #3. Example Implementation class MyT { /* raw data structure goes here; this class needn't have any methods */ } // It doesn't matter where we put the following; could be a static method of MyT, or some static class collecting dictionaries static readonly TDict<MyT> MyTDict = new TDict<MyT>( (t) => /* body of f1 goes here */ , // f2 (s) => /* body of f2 goes here */, // f3 (t,d) => /* body of f3 goes here */ ); Thoughts? #3 is unidiomatic, but it seems rather safe and clean. One question is whether there are any performance concerns with it. I don't usually need dynamic dispatch, and I'd prefer if these function bodies get statically inlined in places where the concrete implementing type is known statically. Is #2 better in that regard?

    Read the article

  • List<> of objects, different types, sort and pull out types individually?

    - by Brazos
    I've got a handful of products, any, all, or none of which may be associated with a specific submission. All 7 products are subclasses of the class Product. I need to store all the products associated with a submission, and then retrieve them and their field data on my presentation layer. I've been using a List, and List, but when I use the OfType, I throw an error saying that I can't implicitly convert systems.generic.IEnumerable to type 'Product'. I've tried to cast, but to no avail. When I use prodlist.OfType<EPL>(); there are no errors, but when I try and store that in an instance of EPL "tempEpl", I get the aforementioned cast-related error. What gives? Code below. ProductService pserv = new ProductService(); IList<object> prodlist = pserv.getProductById(x); EPL tempEpl = new EPL(); if ((prodlist.OfType<EPL>()) != null) { tempEpl = prodlist.OfType<EPL>(); // this throws a conversion error. } the Data layer List<object> TempProdList = new List<object>(); conn.Open(); SqlCommand EplCmd = new SqlCommand(EPLQuery, conn); SqlDataReader EplRead = null; EplRead = EplCmd.ExecuteReader(); EPL TempEpl = new EPL(); if (EplRead.Read()) { TempEpl.Entity1 = EplRead.GetString(0); TempEpl.Employees1 = EplRead.GetInt32(1); TempEpl.CA1 = EplRead.GetInt32(2); TempEpl.MI1 = EplRead.GetInt32(3); TempEpl.NY1 = EplRead.GetInt32(4); TempEpl.NJ1 = EplRead.GetInt32(5); TempEpl.PrimEx1 = EplRead.GetInt32(6); TempEpl.EplLim1 = EplRead.GetInt32(7); TempEpl.EplSir1 = EplRead.GetInt32(8); TempEpl.Premium1 = EplRead.GetInt32(9); TempEpl.Wage1 = EplRead.GetInt32(10); TempEpl.Sublim1 = EplRead.GetInt32(11); TempProdList.Add(TempEpl); }

    Read the article

  • PHP MVC: How to implement an effective Controller/View Association like ZendFramework guys do!

    - by Navi
    Hi, I am making my own PHP-MVC framework. i have a question regarding Controller and View Association. I love the way Zend framework uses view within Controller as follow: $this->view->data = 'Data here'; so it can be used in view as follow: echo $this->data; I am wondering how can i implement this association. I want to remove codes between /** **/ and want to replace with some magic functions. My codes for controller as as follow: class UserController extends Controller{ /************************************/ public function __construct(){ $this->view = new View(); $this->view->setLayout( 'home' ); } function __destruct(){ $this->view->render(); } /************************************/ public function index(){ $this->redirect('user/login'); } public function login(){ } public function register(){ } public function forgotPassword(){ } } Thanks and best regards, -Navi

    Read the article

  • Lightweight PHP library alternative to common MVC frameworks

    - by artarad
    Hi hi, I'm looking for a easy to learn php library to use for my coming web app project. I've recently finished a web app with fully handwritten raw php code and it's absolutely hard to be done again for another project. even though I have the recent project code snippets to be used again, but due to their non-structural arrangement (not object oriented), i have no passion to use 'em again. I have no experience with common frameworks like ZF, CakePhp, CodeIgniter, so I think to get my hands on a multipurpose OO library for my web app and the framework learning will be the next step! any suggestion? UPDATE: Many thanks guys, I have not enough time to get through the depth of every lib or framework you have kindly introduced. Since I'm going one step further I'm going to use ZF as famous framework which could provide me more job opportunities perhaps. thankssss :)

    Read the article

  • HMVC or PAC - how to handle shared abstractions/models?

    - by fig-gnuton
    In HMVC/PAC, what's the recommended way to code if two or more triads/agents share a common model/abstraction? Do you instantiate a new instance of that model wherever needed, and propogate a change in one to all the other instances via the controllers? Or do instantiate one model at some common upper level, and inject that instance wherever needed? (Or neither if I'm missing something fundamental about these patterns?)

    Read the article

  • What are the advantages of learning Go?

    - by Pangea
    What is so unique about Go? Over the 11 years of my career I've learnt Pascal, C, C++, COBOL and then Java. I always felt that going from C to C++ to Java was a incremental and value added progression. Now I see a proliferation of functional programming languages and I understand the benefit of learning few of them (like actors in scala etc). Now I was going through the Go programming language and was wondering why would I want to learn this? Is this going to simplify how I have been writing the code? What are its use cases? How can I make a case to promote it in my team? What is the next programming language that a Java team that builds business applications like us can benefit from? Appreciate your comments on this.

    Read the article

  • what's Static type safety ?

    - by symfony
    Static type safety – an integral property of languages of the family to which C++ belongs and valuable both for guaranteeing properties of a design and for providing runtime and space efficiency. Can someone illustrate by a demo? Thanks

    Read the article

  • PHP object class variable

    - by mck89
    I have built a class in PHP and I must declare a class variable as an object. Everytime I want to declare an empty object I use: $var=new stdClass; But if I use it to declare a class variable as class foo { var $bar=new stdClass; } a parse error occurs. Is there a way to do this or must I declare the class variable as an object in the constructor function? PS: I'm using PHP 4.

    Read the article

  • Singletons and other design issues

    - by Ahmed Saleh
    I have worked using different languages like C++/Java and currently AS3. Most applications were computer vision, and small 2D computer games. Most companies that I have worked for, they use Singletons in a language like AS3, to retrieve elements or classes in an easy way. Their problem is basically they needs some variables or to call other functions from other classes. In a language like AS3, there is no private constructor, and they write a hacky code to prevent new instances. In Java and C++ I also faced the situation that I need to use other classe's members or to call their functions in different classes. The question is, is there a better or another design, to let other classes interact with each others without using singletons? I feel that composition is the answer, but I need more detailed solutions or design suggestions.

    Read the article

  • Static vs Non Static constructors

    - by Neil N
    I can't think of any reasons why one is better than the other. Compare these two implementations: public class MyClass { public myClass(string fileName) { // some code... } } as opposed to: public class MyClass { private myClass(){} public static Create(string fileName) { // some code... } } There are some places in the .Net framework that use the static method to create instances. At first I was thinking, it registers it's instances to keep track of them, but regular constructors could do the same thing through the use of private static variables. What is the reasoning behind this style?

    Read the article

  • C++ overloading virtual = operator

    - by taz
    Hello, here is the code for my question: class ICommon { public: virtual ICommon& operator=(const ICommon & p)const=0; }; class CSpecial : public ICommon { public: CSpecial& operator=(const CSpecial & cs) { //custom operations return *this; } }; CSpecial obj; Basically: I want the interface ICommon to force it's descendants to implement = operator but don't want to have any typecasts in the implementation. The compiler says "can't instantiate an abstract class. Any help/advice will be appreciated.

    Read the article

  • How do I create a class repository in Java and do I really need it?

    - by Roman
    I have a large number of objects which are identified by names (strings). So, I would like to have a kind of mapping from object name to the class instances. I was told that in this situation I can use a "repository" class which works like that: Server myServer = ServerRepository.getServer("NameOfServer"); So, if there is already an object (sever) with the "NameOfServer" it will be returned by the "getServer". If such an object does not exist yet, it will be created and returned by the "getServer". So, my question is how to program such a "repository" class? In this class I have to be able to check if there is an instance of a given class such that it has a given value of a given field. How can I do it? I need to have a kind of loop over all existing object of a given class? Another part of my question is why I cannot use associative arrays (associative container, map, mapping, dictionary, finite map)? (I am not sure how do you call it in Java) In more details, I have an "array" which maps names of objects to objects. So, whenever I create a new object, I add a new element to the array: myArray["NameOfServer"] = new Server("NameOfServer").

    Read the article

  • How to restrict an access to some of the functions at third level in Classes (OOPs)

    - by Shantanu Gupta
    I have created a class say A which has some functions defined as protected. Now Class B inherits A and class C inherits B. Class A has private default constructor and protected parameterized constructor. I want Class B to be able to access all the protected functions defined in Class A but class C can have access on some of the functions only not all the functions and class C is inheriting class B. How can I restrict access to some of the functions of Class A from Class C ? Class A { private A(){} protected A(int ){} } Class B : A {} CLass C:B { }

    Read the article

  • Method Overloading for NULL parameter

    - by Phani
    I have added three methods with parameters: public static void doSomething(Object obj) { System.out.println("Object called"); } public static void doSomething(char[] obj) { System.out.println("Array called"); } public static void doSomething(Integer obj) { System.out.println("Array called"); } When I am calling doSomething(null) , then compiler throws error as ambiguous methods. So Is the issue because Integer and char[] methods or Integer and Object methods?

    Read the article

  • Is there any short way to load data to the properties of a class, for each column name matching the properties of the class?

    - by Ugur Gümüshan
    I want to load data to an instance of an object using its constructor and I write $this->property=$row["colname"] each time for each property. the mysql_fetch_object function fetches the data as an object but I am not sure if the instance of an object can be assigned to some object from inside. othwerwise I would use __construct($object) { $this=$object; } //doesn't give any syntax error Maybe I should look into iteration of properties and use foreach($object as $key => $value) $value=$object[$key]; or can I assign like $this=$object; within the constructor?

    Read the article

  • Why is there no parameter contra-variance for overriding?

    - by Oak
    C++ and Java support return-type covariance when overriding methods. Neither, however, support contra-variance in parameter types - instead, it translates to overloading (Java) or hiding (C++). Why is that? It seems to me that there is no harm in allowing that. I can find one reason for it in Java - since it has the "choose-the-most-specific-version" mechanism for overloading anyway - but can't think of any reason for C++. Example (Java): class A { public void f(String s) {...} } class B extends A { public void f(Object o) {...} // Why doesn't this override A.f? }

    Read the article

  • how to return the current object?

    - by ajsie
    in code igniter you can type: $query = $this->db->query("YOUR QUERY"); foreach ($query->result() as $row) { echo $row->title; echo $row->name; echo $row->body; } i guess that the query method returns the object it's part of. am i correct? if i am, how do you type the line where it returns the object? so what i wonder is how it looks like inside the query method for the above code to be functional. public function query($sql) { // some db logic here with the $sql and saves the values to the properties (title, name and body) return X } with other words, what should X be?

    Read the article

  • What's the idiomatic way of inheriting data access functionality as well as object properties?

    - by Knut Arne Vedaa
    Suppose the following (slightly pseudo-code for brevity): class Basic { String foo; } class SomeExtension extends Basic { String bar; } class OtherExtension extends Basic { String baz; } class BasicService { Basic getBasic() { } } class SomeExtensionService extends BasicService { SomeExtension getSomeExtension() { } } class OtherExtensionService extends BasicService { OtherExtension getOtherExtension() { } } What would be the most idiomatic, elegant way to implement the get-() service methods with the most possible code reuse? Obviously you could do it like this: class BasicService { Basic getBasic() { Basic basic = new Basic(); basic.setFoo("some kind of foo"); return basic; } } class SomeExtensionService { SomeExtension getSomeExtension() { SomeExtension someExtension = new SomeExtension; Basic basic = getBasic(); someExtension.setFoo(basic.getFoo()); someExtension.setBar("some kind of bar"); return someExtension; } } But this would be ugly if Basic has a lot of properties, and also you only need one object, as SomeExtension already inherits Basic. However, BasicService can obviously not return a SomeExtension object. You could also have the get methods not create the object themselves, but create it at the outermost level and pass it to the method for filling in the properties, but I find that too imperative. (Please let me know if the question is confusingly formulated.)

    Read the article

  • How to set default values to all wrong or null parameters of method?

    - by Roman
    At the moment I have this code (and I don't like it): private RenderedImage private RenderedImage getChartImage (GanttChartModel model, String title, Integer width, Integer height, String xAxisLabel, String yAxisLabel, Boolean showLegend) { if (title == null) { title = ""; } if (xAxisLabel == null) { xAxisLabel = ""; } if (yAxisLabel == null) { yAxisLabel = ""; } if (showLegend == null) { showLegend = true; } if (width == null) { width = DEFAULT_WIDTH; } if (height == null) { height = DEFAULT_HEIGHT; } ... } How can I improve it? I have some thoughts about introducing an object which will contain all these parameters as fields and then, maybe, it'll be possible to apply builder pattern. But still don't have clear vision how to implement that and I'm not sure that it's worth to be done. Any other ideas?

    Read the article

  • How to maintain a pool of names ?

    - by Jacques René Mesrine
    I need to maintain a list of userids (proxy accounts) which will be dished out to multithreaded clients. Basically the clients will use the userids to perform actions; but for this question, it is not important what these actions are. When a client gets hold of a userid, it is not available to other clients until the action is completed. I'm trying to think of a concurrent data structure to maintain this pool of userids. Any ideas ? Would a ConcurrentQueue do the job ? Clients will dequeue a userid, and add back the userid when they are finished with it.

    Read the article

  • Resetting Objects vs. Constructing New Objects

    - by byronh
    Is it considered better practice and/or more efficient to create a 'reset' function for a particular object that clears/defaults all the necessary member variables to allow for further operations, or to simply construct a new object from outside? I've seen both methods employed a lot, but I can't decide which one is better. Of course, for classes that represent database connections, you'd have to use a reset method rather than constructing a new one resulting in needless connecting/disconnecting, but I'm talking more in terms of abstraction classes. Can anyone give me some real-world examples of when to use each method? In my particular case I'm thinking mostly in terms of ORM or the Model in MVC. For example, if I would want to retrieve a bunch of database objects for display and modify them in one operation.

    Read the article

< Previous Page | 36 37 38 39 40 41 42 43 44 45 46 47  | Next Page >