diff --git a/scripts/ex/access-modifiers-implicit.js b/scripts/ex/access-modifiers-implicit.js new file mode 100644 index 0000000..7801178 --- /dev/null +++ b/scripts/ex/access-modifiers-implicit.js @@ -0,0 +1,38 @@ +var DatabaseRecord = Class( 'DatabaseRecord', +{ + /* implicitly private */ + _connection: null, + + + __construct: function( host, user, pass ) + { + this._connection = this._connect( host, user, pass ); + }, + + /* implicitly private */ + _connect: function( host, user, pass ) + { + // (do connection stuff) + return { host: host }; + }, + + 'protected query': function( query ) + { + // perform query on this._connection, rather than exposing + // this._connection to subtypes + }, + + 'protected escapeString': function( field ) + { + return field.replace( "'", "\\'" ); + }, + + /* public by default */ + getName: function( id ) + { + return this._query( + "SELECT name FROM users WHERE id = '" + + this._escapeString( id ) + "' LIMIT 1" + ); + }, +} );