Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #34464

Re: Object oriented programming

From Thomas 'PointedEars' Lahn <PointedEars@web.de>
Newsgroups comp.lang.javascript
Subject Re: Object oriented programming
Date 2018-01-05 23:47 +0100
Organization PointedEars Software (PES)
Message-ID <1930796.tM4inqfQ5m@PointedEars.de> (permalink)
References <3c2333ff-00fe-4087-ab49-f52d0546b29b@googlegroups.com> <9408a4ea-8633-46dd-bc42-43da13cafb87@googlegroups.com>

Show all headers | View raw


Michael Haufe (TNO) wrote:

> On Friday, January 5, 2018 at 12:25:50 PM UTC-6, Jonas Thörnvall wrote:
>> For example i think i would like a midi track object, but how do you set
>> boundaries for an object. For example that tracks can not use same
>> channel and same out port? As i understand it an object have methods for
>> its variables/"attributes?".

Yes.
 
>> But rules for how they can be instantiated, can object oriended
>> programming also handle such.

Yes.

>> Because that seem almost AI like,

There is not much to it: the constructor can do the check.

>> so i guess some external mechanism must check so the objects attributes
>> do not collide?
> 
> I would say, drop the requirement of it being in JavaScript.

I would not, because today all widely distributed ECMAScript implementations 
that have “JavaScript” in their name support implicit setters and getters.  
That has been standardized for native objects in ECMAScript Edition 5 
(2009).

In this example, the setter would read from and write to a common registry, 
preventing the same property of two instances to have the same value.

> <https://www.amazon.com/Little-Java-Few-Patterns-Press-ebook
                                 ^^^^
> […]
> <script>

Now I am confused :)

> abstract class List<T>  {
                     ^^^
>     abstract append(value: T): List<T>
>     abstract concat(list: List<T>): List<T>
>     abstract length(): number
>     abstract isEmpty(): boolean
>     abstract toString(): string
>     //etc
> }
> […]
> 
> var xs: List<number> = new Cons(1, new Cons(2, new Cons(3, new Nil())))
  ^^^
> var ys: List<number> = new Nil().append(4).append(5).append(6)
> var zs: List<number> = xs.concat(ys)
> 
> console.log(zs.toString()) // 1::2::3::4::5::6::[]

Which programming language is this?


PointedEars
-- 
PointedEars
FAQ: <http://PointedEars.de/faq> | <http://PointedEars.de/es-matrix>
<https://github.com/PointedEars> | <http://PointedEars.de/wsvn/>
Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.

Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Object oriented programming Jonas Thörnvall <jonas.thornvall@gmail.com> - 2018-01-05 10:25 -0800
  Re: Object oriented programming "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2018-01-05 11:51 -0800
    Re: Object oriented programming Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-01-05 23:47 +0100
      Re: Object oriented programming "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2018-01-05 15:15 -0800
        Re: Object oriented programming Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-01-08 03:08 +0100
    Re: Object oriented programming Jonas Thörnvall <jonas.thornvall@gmail.com> - 2018-01-05 15:09 -0800
      Re: Object oriented programming Jonas Thörnvall <jonas.thornvall@gmail.com> - 2018-01-05 15:21 -0800
        Re: Object oriented programming Jonas Thörnvall <jonas.thornvall@gmail.com> - 2018-01-05 15:27 -0800
  Re: Object oriented programming Julio Di Egidio <julio@diegidio.name> - 2018-01-05 12:09 -0800
    Re: Object oriented programming "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2018-01-05 13:01 -0800
      Re: Object oriented programming Julio Di Egidio <julio@diegidio.name> - 2018-01-05 14:38 -0800
        Re: Object oriented programming "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2018-01-05 15:29 -0800
          Re: Object oriented programming Jonas Thörnvall <jonas.thornvall@gmail.com> - 2018-01-05 15:49 -0800
            Re: Object oriented programming Jonas Thörnvall <jonas.thornvall@gmail.com> - 2018-01-06 02:23 -0800
              Re: Object oriented programming Julio Di Egidio <julio@diegidio.name> - 2018-01-06 03:25 -0800
                Re: Object oriented programming Jonas Thörnvall <jonas.thornvall@gmail.com> - 2018-01-06 03:39 -0800
                Re: Object oriented programming Julio Di Egidio <julio@diegidio.name> - 2018-01-06 04:24 -0800
                Re: Object oriented programming Jonas Thörnvall <jonas.thornvall@gmail.com> - 2018-01-06 05:26 -0800
                Re: Object oriented programming Jonas Thörnvall <jonas.thornvall@gmail.com> - 2018-01-06 05:28 -0800
                Re: Object oriented programming Jonas Thörnvall <jonas.thornvall@gmail.com> - 2018-01-06 05:34 -0800
                Re: Object oriented programming Jonas Thörnvall <jonas.thornvall@gmail.com> - 2018-01-06 06:08 -0800
                Re: Object oriented programming Jonas Thörnvall <jonas.thornvall@gmail.com> - 2018-01-06 06:27 -0800
                Re: Object oriented programming Jonas Thörnvall <jonas.thornvall@gmail.com> - 2018-01-06 06:36 -0800
                Re: Object oriented programming Jonas Thörnvall <jonas.thornvall@gmail.com> - 2018-01-06 07:34 -0800
                Re: Object oriented programming "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2018-01-06 09:56 -0800
                Re: Object oriented programming John G Harris <niam@jghnorth.org.uk.invalid> - 2018-01-06 14:21 +0000
                Re: Object oriented programming Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-01-06 17:42 +0000
                Re: Object oriented programming Julio Di Egidio <julio@diegidio.name> - 2018-01-06 11:47 -0800
                Re: Object oriented programming "Christoph M. Becker" <cmbecker69@arcor.de> - 2018-01-06 22:11 +0100
                Re: Object oriented programming Julio Di Egidio <julio@diegidio.name> - 2018-01-06 13:28 -0800
                Re: Object oriented programming "Christoph M. Becker" <cmbecker69@arcor.de> - 2018-01-07 12:40 +0100
                Re: Object oriented programming "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2018-01-07 13:01 +0100
                Re: Object oriented programming "Christoph M. Becker" <cmbecker69@arcor.de> - 2018-01-07 19:43 +0100
                Re: Object oriented programming "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2018-01-07 20:33 +0100
                Re: Object oriented programming Julio Di Egidio <julio@diegidio.name> - 2018-01-07 08:30 -0800
                Re: Object oriented programming John G Harris <niam@jghnorth.org.uk.invalid> - 2018-01-07 14:05 +0000
                Re: Object oriented programming Julio Di Egidio <julio@diegidio.name> - 2018-01-07 08:33 -0800
                Re: Object oriented programming John G Harris <niam@jghnorth.org.uk.invalid> - 2018-01-08 09:46 +0000
                Re: Object oriented programming Julio Di Egidio <julio@diegidio.name> - 2018-01-08 03:45 -0800
              Re: Object oriented programming Jonas Thörnvall <jonas.thornvall@gmail.com> - 2018-01-06 03:39 -0800
                Re: Object oriented programming Julio Di Egidio <julio@diegidio.name> - 2018-01-06 04:24 -0800
              Re: Object oriented programming bit-naughty@hotmail.com - 2018-01-12 22:57 -0800
                Re: Object oriented programming John G Harris <niam@jghnorth.org.uk.invalid> - 2018-01-13 13:27 +0000
                Re: Object oriented programming Jonas Thörnvall <jonas.thornvall@gmail.com> - 2018-01-13 08:24 -0800
      Re: Object oriented programming John G Harris <niam@jghnorth.org.uk.invalid> - 2018-01-06 14:10 +0000
        Re: Object oriented programming "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2018-01-06 23:54 -0800
          Re: Object oriented programming John G Harris <niam@jghnorth.org.uk.invalid> - 2018-01-07 14:13 +0000
            Re: Object oriented programming "Christoph M. Becker" <cmbecker69@arcor.de> - 2018-01-07 15:26 +0100
              Re: Object oriented programming John G Harris <niam@jghnorth.org.uk.invalid> - 2018-01-08 09:39 +0000
                Re: Object oriented programming "Christoph M. Becker" <cmbecker69@arcor.de> - 2018-01-09 00:12 +0100
                Re: Object oriented programming Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-01-09 02:45 +0100
                Re: Object oriented programming Jonas Thörnvall <jonas.thornvall@gmail.com> - 2018-01-08 21:34 -0800
                Re: Object oriented programming Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-01-09 12:52 +0100
                Re: Object oriented programming Jonas Thörnvall <jonas.thornvall@gmail.com> - 2018-01-09 04:41 -0800
                Re: Object oriented programming Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-01-09 15:50 +0100
                Re: Object oriented programming Jonas Thörnvall <jonas.thornvall@gmail.com> - 2018-01-09 07:31 -0800
                Re: Object oriented programming "Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid> - 2018-01-10 15:03 -0800
                Re: Object oriented programming "Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid> - 2018-01-10 15:04 -0800
                Re: Object oriented programming Jonas Thörnvall <jonas.thornvall@gmail.com> - 2018-01-11 02:06 -0800
                Re: Object oriented programming Jonas Thörnvall <jonas.thornvall@gmail.com> - 2018-01-09 09:50 -0800
                Re: Object oriented programming "Christoph M. Becker" <cmbecker69@arcor.de> - 2018-01-09 13:19 +0100

csiph-web